diff --git a/.Rbuildignore b/.Rbuildignore index 73cf68870ddb05c9774793c0deb178f3e64c4e66..449c296ce67c491697c5941fd99a3d3d955119c1 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -1,11 +1,11 @@ -^.*\.Rproj$ -^\.ci$ -^\.gitlab-ci\.yml$ -^\.Rproj\.user$ -^\.travis.yml$ -public -grA.png -grB.pgn -^_pkgdown\.yml$ -^public$ -^pkgdown$ +^.*\.Rproj$ +^\.ci$ +^\.gitlab-ci\.yml$ +^\.Rproj\.user$ +^\.travis.yml$ +public +grA.png +grB.pgn +^_pkgdown\.yml$ +^public$ +^pkgdown$ diff --git a/.ci/requirements.txt b/.ci/requirements.txt index 2be21407d30cc15b85dff115a422295acb701e9e..255f35ccaa0517cbb33f4ddf8edd25e69da731f8 100644 --- a/.ci/requirements.txt +++ b/.ci/requirements.txt @@ -1,31 +1,31 @@ -r-assertive -r-data.table -r-ggplot2 -r-magrittr -r-reticulate -r-stringi -r-tidyr -r-knitr -r-rmarkdown -r-testthat -bioconductor-annotationhub -bioconductor-biocgenerics -bioconductor-biostrings -bioconductor-bsgenome -bioconductor-crisprseek -bioconductor-genomeinfodb -bioconductor-genomicfeatures -bioconductor-genomicranges -bioconductor-karyoploter -bioconductor-plyranges -bioconductor-rbowtie -bioconductor-rtracklayer -bioconductor-biocstyle -bioconductor-bsgenome.hsapiens.ucsc.hg38 -bioconductor-bsgenome.mmusculus.ucsc.mm10 -bioconductor-bsgenome.scerevisiae.ucsc.saccer1 -bioconductor-ensembldb -bioconductor-iranges -bioconductor-txdb.mmusculus.ucsc.mm10.knowngene -qpdf +r-assertive +r-data.table +r-ggplot2 +r-magrittr +r-reticulate +r-stringi +r-tidyr +r-knitr +r-rmarkdown +r-testthat +bioconductor-annotationhub +bioconductor-biocgenerics +bioconductor-biostrings +bioconductor-bsgenome +bioconductor-crisprseek +bioconductor-genomeinfodb +bioconductor-genomicfeatures +bioconductor-genomicranges +bioconductor-karyoploter +bioconductor-plyranges +bioconductor-rbowtie +bioconductor-rtracklayer +bioconductor-biocstyle +bioconductor-bsgenome.hsapiens.ucsc.hg38 +bioconductor-bsgenome.mmusculus.ucsc.mm10 +bioconductor-bsgenome.scerevisiae.ucsc.saccer1 +bioconductor-ensembldb +bioconductor-iranges +bioconductor-txdb.mmusculus.ucsc.mm10.knowngene +qpdf zip \ No newline at end of file diff --git a/.ci/setup.sh b/.ci/setup.sh index be40e306d18657dd776d95a0e44d084a425b7a73..52a60c57bcf1c78f828fc6abf46895545f22d7ec 100644 --- a/.ci/setup.sh +++ b/.ci/setup.sh @@ -1,17 +1,17 @@ -#!/bin/bash - -set -eo pipefail - -# -# Set up correct channel order -# -conda config --system --add channels defaults -conda config --system --add channels bioconda -conda config --system --add channels conda-forge - -# -# Install packages from requirements -# -conda install -q -y --file .ci/requirements.txt - -conda clean -q -y --all +#!/bin/bash + +set -eo pipefail + +# +# Set up correct channel order +# +conda config --system --add channels defaults +conda config --system --add channels bioconda +conda config --system --add channels conda-forge + +# +# Install packages from requirements +# +conda install -q -y --file .ci/requirements.txt + +conda clean -q -y --all diff --git a/.gitignore b/.gitignore index c1c0705459ccce2081bd86695e964ebc16b440d9..0d06de8254bd5cca7f9162622f2d5402f0d342f2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ -inst/doc -.Rproj.user -vignettes/*_cache -multicrispr.Rproj +inst/doc +.Rproj.user +vignettes/*_cache +multicrispr.Rproj .gitattributes \ No newline at end of file diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 57e92930f96a369e4c787fd221f9e300493dfaf8..ce2af2e920977674923bac49cab0315d5ed8f4ad 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,45 +1,45 @@ -image: continuumio/miniconda3:4.7.12 - -stages: - - build - - check - -before_script: - - chmod +x .ci/setup.sh - - .ci/setup.sh - -build: - stage: build - tags: - - docker - script: - - R CMD build . - artifacts: - paths: - - multicrispr_*.tar.gz - name: "$CI_COMMIT_REF_NAME-builds" - -check: - stage: check - tags: - - docker - variables: - http_proxy: http://www-proxy.t-online.de:80 - R_ZIPCMD: /opt/conda/bin/zip - _R_CHECK_FORCE_SUGGESTS_: 0 - script: - - R CMD check *tar.gz --as-cran --no-manual - artifacts: - expire_in: 1 week - paths: - - multicrispr.Rcheck/* - -pages: - stage: .post - script: - - touch public - artifacts: - paths: - - public - only: +image: continuumio/miniconda3:4.7.12 + +stages: + - build + - check + +before_script: + - chmod +x .ci/setup.sh + - .ci/setup.sh + +build: + stage: build + tags: + - docker + script: + - R CMD build . + artifacts: + paths: + - multicrispr_*.tar.gz + name: "$CI_COMMIT_REF_NAME-builds" + +check: + stage: check + tags: + - docker + variables: + http_proxy: http://www-proxy.t-online.de:80 + R_ZIPCMD: /opt/conda/bin/zip + _R_CHECK_FORCE_SUGGESTS_: 0 + script: + - R CMD check *tar.gz --as-cran --no-manual + artifacts: + expire_in: 1 week + paths: + - multicrispr.Rcheck/* + +pages: + stage: .post + script: + - touch public + artifacts: + paths: + - public + only: - master \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 1abf6ad4d28a03d64549ff42416c9ab0a905b11e..5b49b4fff63e1fc922de8d558181cd0f4ac71b19 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,4 @@ -language: r -r: bioc-devel -apt_packages: +language: r +r: bioc-devel +apt_packages: - libmagick++-dev \ No newline at end of file diff --git a/DESCRIPTION b/DESCRIPTION index f116f3da64ae59841877f14f3c664f0fe31ef2c2..916ee6ce05bbfee52521f4a27ffa0e03a29a0dc5 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: multicrispr Title: Multi-locus multi-purpose Crispr/Cas design -Version: 0.99.13 +Version: 0.99.14 Authors@R: c(person("Aditya", "Bhagwat", NULL, "aditya.bhagwat@mpi-bn.mpg.de", c("aut", "cre")), person( "Johannes", "Graumann", NULL, 'johannes.graumann@mpi-bn.mpg.de',c("sad", "ctb")), person( "Mette", "Bentsen", NULL, "mette.bentsen@mpi-bn.mpg.de", "ctb"), @@ -17,7 +17,7 @@ Description: This package is for designing Crispr/Cas9 and Prime Editing experim License: GPL-2 Encoding: UTF-8 LazyData: true -RoxygenNote: 7.1.0 +RoxygenNote: 7.1.1 Depends: R (>= 4.0) Imports: diff --git a/NAMESPACE b/NAMESPACE index 6880335047bf580467909308e2d636cfcccf1a71..eff48d1ccc8a7054cf66814102160d8c054fa206 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -1,126 +1,126 @@ -# Generated by roxygen2: do not edit by hand - -export(add_context) -export(add_efficiency) -export(add_genome_counts) -export(add_inverse_strand) -export(add_offtargets) -export(add_seq) -export(add_specificity) -export(add_target_counts) -export(bed_to_granges) -export(char_to_granges) -export(double_flank) -export(down_flank) -export(dt2gr) -export(extend) -export(extend_for_pe) -export(extend_pe_to_gg) -export(extract_matchranges) -export(extract_subranges) -export(filter_efficient) -export(find_gg) -export(find_pe_spacers) -export(find_spacers) -export(genefile_to_granges) -export(genes_to_granges) -export(gr2dt) -export(has_been_indexed) -export(index_genome) -export(index_targets) -export(match_seqs) -export(match_spacers) -export(plot_intervals) -export(plot_karyogram) -export(up_flank) -importFrom(BSgenome,getBSgenome) -importFrom(BSgenome,getSeq) -importFrom(BiocGenerics,"end<-") -importFrom(BiocGenerics,"start<-") -importFrom(BiocGenerics,"strand<-") -importFrom(BiocGenerics,end) -importFrom(BiocGenerics,invertStrand) -importFrom(BiocGenerics,start) -importFrom(BiocGenerics,strand) -importFrom(Biostrings,DNAStringSet) -importFrom(Biostrings,complement) -importFrom(Biostrings,vcountPDict) -importFrom(Biostrings,vmatchPattern) -importFrom(GenomeInfoDb,"seqinfo<-") -importFrom(GenomeInfoDb,"seqlevels<-") -importFrom(GenomeInfoDb,"seqlevelsStyle<-") -importFrom(GenomeInfoDb,"seqnames<-") -importFrom(GenomeInfoDb,genome) -importFrom(GenomeInfoDb,seqinfo) -importFrom(GenomeInfoDb,seqlevels) -importFrom(GenomeInfoDb,seqlevelsInUse) -importFrom(GenomeInfoDb,seqlevelsStyle) -importFrom(GenomeInfoDb,seqnames) -importFrom(GenomeInfoDb,sortSeqlevels) -importFrom(GenomeInfoDb,standardChromosomes) -importFrom(GenomicRanges,"mcols<-") -importFrom(GenomicRanges,GRanges) -importFrom(GenomicRanges,mcols) -importFrom(assertive,assert_all_are_dirs) -importFrom(assertive,assert_all_are_existing_files) -importFrom(assertive,assert_all_are_false) -importFrom(assertive,assert_all_are_less_than) -importFrom(assertive,assert_all_are_matching_regex) -importFrom(assertive,assert_all_are_true) -importFrom(assertive,assert_are_identical) -importFrom(assertive,assert_are_same_length) -importFrom(assertive,assert_has_names) -importFrom(assertive,assert_has_no_duplicates) -importFrom(assertive,assert_is_a_bool) -importFrom(assertive,assert_is_a_number) -importFrom(assertive,assert_is_a_string) -importFrom(assertive,assert_is_all_of) -importFrom(assertive,assert_is_any_of) -importFrom(assertive,assert_is_character) -importFrom(assertive,assert_is_scalar) -importFrom(assertive,assert_is_subset) -importFrom(assertive,has_names) -importFrom(assertive,is_identical_to_true) -importFrom(assertive,is_windows) -importFrom(data.table,":=") -importFrom(data.table,.SD) -importFrom(data.table,as.data.table) -importFrom(data.table,data.table) -importFrom(data.table,setnafill) -importFrom(data.table,setnames) -importFrom(data.table,setorderv) -importFrom(ggplot2,aes) -importFrom(ggplot2,aes_string) -importFrom(ggplot2,facet_wrap) -importFrom(ggplot2,geom_point) -importFrom(ggplot2,geom_segment) -importFrom(ggplot2,ggplot) -importFrom(ggplot2,ggtitle) -importFrom(ggplot2,scale_alpha_manual) -importFrom(ggplot2,scale_size_manual) -importFrom(ggplot2,scale_x_continuous) -importFrom(ggplot2,theme_bw) -importFrom(ggplot2,unit) -importFrom(ggplot2,xlab) -importFrom(ggplot2,ylab) -importFrom(grid,arrow) -importFrom(magrittr,"%<>%") -importFrom(magrittr,"%>%") -importFrom(magrittr,add) -importFrom(magrittr,and) -importFrom(magrittr,extract) -importFrom(magrittr,extract2) -importFrom(magrittr,set_names) -importFrom(methods,as) -importFrom(stringi,stri_detect_regex) -importFrom(stringi,stri_locate_all_fixed) -importFrom(stringi,stri_locate_all_regex) -importFrom(stringi,stri_replace_first_fixed) -importFrom(stringi,stri_startswith_fixed) -importFrom(tidyr,separate_rows) -importFrom(utils,download.file) -importFrom(utils,getFromNamespace) -importFrom(utils,head) -importFrom(utils,read.csv) -importFrom(utils,read.table) -importFrom(utils,tail) +# Generated by roxygen2: do not edit by hand + +export(add_context) +export(add_efficiency) +export(add_genome_counts) +export(add_inverse_strand) +export(add_offtargets) +export(add_seq) +export(add_specificity) +export(add_target_counts) +export(bed_to_granges) +export(char_to_granges) +export(double_flank) +export(down_flank) +export(dt2gr) +export(extend) +export(extend_for_pe) +export(extend_pe_to_gg) +export(extract_matchranges) +export(extract_subranges) +export(filter_efficient) +export(find_gg) +export(find_pe_spacers) +export(find_spacers) +export(genefile_to_granges) +export(genes_to_granges) +export(gr2dt) +export(has_been_indexed) +export(index_genome) +export(index_targets) +export(match_seqs) +export(match_spacers) +export(plot_intervals) +export(plot_karyogram) +export(up_flank) +importFrom(BSgenome,getBSgenome) +importFrom(BSgenome,getSeq) +importFrom(BiocGenerics,"end<-") +importFrom(BiocGenerics,"start<-") +importFrom(BiocGenerics,"strand<-") +importFrom(BiocGenerics,end) +importFrom(BiocGenerics,invertStrand) +importFrom(BiocGenerics,start) +importFrom(BiocGenerics,strand) +importFrom(Biostrings,DNAStringSet) +importFrom(Biostrings,complement) +importFrom(Biostrings,vcountPDict) +importFrom(Biostrings,vmatchPattern) +importFrom(GenomeInfoDb,"seqinfo<-") +importFrom(GenomeInfoDb,"seqlevels<-") +importFrom(GenomeInfoDb,"seqlevelsStyle<-") +importFrom(GenomeInfoDb,"seqnames<-") +importFrom(GenomeInfoDb,genome) +importFrom(GenomeInfoDb,seqinfo) +importFrom(GenomeInfoDb,seqlevels) +importFrom(GenomeInfoDb,seqlevelsInUse) +importFrom(GenomeInfoDb,seqlevelsStyle) +importFrom(GenomeInfoDb,seqnames) +importFrom(GenomeInfoDb,sortSeqlevels) +importFrom(GenomeInfoDb,standardChromosomes) +importFrom(GenomicRanges,"mcols<-") +importFrom(GenomicRanges,GRanges) +importFrom(GenomicRanges,mcols) +importFrom(assertive,assert_all_are_dirs) +importFrom(assertive,assert_all_are_existing_files) +importFrom(assertive,assert_all_are_false) +importFrom(assertive,assert_all_are_less_than) +importFrom(assertive,assert_all_are_matching_regex) +importFrom(assertive,assert_all_are_true) +importFrom(assertive,assert_are_identical) +importFrom(assertive,assert_are_same_length) +importFrom(assertive,assert_has_names) +importFrom(assertive,assert_has_no_duplicates) +importFrom(assertive,assert_is_a_bool) +importFrom(assertive,assert_is_a_number) +importFrom(assertive,assert_is_a_string) +importFrom(assertive,assert_is_all_of) +importFrom(assertive,assert_is_any_of) +importFrom(assertive,assert_is_character) +importFrom(assertive,assert_is_scalar) +importFrom(assertive,assert_is_subset) +importFrom(assertive,has_names) +importFrom(assertive,is_identical_to_true) +importFrom(assertive,is_windows) +importFrom(data.table,":=") +importFrom(data.table,.SD) +importFrom(data.table,as.data.table) +importFrom(data.table,data.table) +importFrom(data.table,setnafill) +importFrom(data.table,setnames) +importFrom(data.table,setorderv) +importFrom(ggplot2,aes) +importFrom(ggplot2,aes_string) +importFrom(ggplot2,facet_wrap) +importFrom(ggplot2,geom_point) +importFrom(ggplot2,geom_segment) +importFrom(ggplot2,ggplot) +importFrom(ggplot2,ggtitle) +importFrom(ggplot2,scale_alpha_manual) +importFrom(ggplot2,scale_size_manual) +importFrom(ggplot2,scale_x_continuous) +importFrom(ggplot2,theme_bw) +importFrom(ggplot2,unit) +importFrom(ggplot2,xlab) +importFrom(ggplot2,ylab) +importFrom(grid,arrow) +importFrom(magrittr,"%<>%") +importFrom(magrittr,"%>%") +importFrom(magrittr,add) +importFrom(magrittr,and) +importFrom(magrittr,extract) +importFrom(magrittr,extract2) +importFrom(magrittr,set_names) +importFrom(methods,as) +importFrom(stringi,stri_detect_regex) +importFrom(stringi,stri_locate_all_fixed) +importFrom(stringi,stri_locate_all_regex) +importFrom(stringi,stri_replace_first_fixed) +importFrom(stringi,stri_startswith_fixed) +importFrom(tidyr,separate_rows) +importFrom(utils,download.file) +importFrom(utils,getFromNamespace) +importFrom(utils,head) +importFrom(utils,read.csv) +importFrom(utils,read.table) +importFrom(utils,tail) diff --git a/NEWS b/NEWS index a9e50a29e1b847d11e10eca450342b607ebdc7c0..da0ad8f2c216558e141a6fd611ce1150dfada542 100644 --- a/NEWS +++ b/NEWS @@ -1,2 +1,2 @@ -Changes in version 0.99.0 (2020-04-24) +Changes in version 0.99.0 (2020-04-24) + Submitted to Bioconductor \ No newline at end of file diff --git a/R/00_imports.R b/R/00_imports.R index 25db962d552faa20c722beb53ae99ed5d4206e92..79fa5c6870f6807969331e922aef536e886760ec 100644 --- a/R/00_imports.R +++ b/R/00_imports.R @@ -1,44 +1,44 @@ -#' @importFrom assertive assert_all_are_true is_identical_to_true -#' @importFrom assertive assert_all_are_false -#' @importFrom assertive assert_all_are_existing_files -#' @importFrom assertive assert_all_are_less_than -#' @importFrom assertive assert_all_are_matching_regex -#' @importFrom assertive assert_are_identical assert_are_same_length -#' @importFrom assertive has_names assert_has_names -#' @importFrom assertive is_windows assert_all_are_dirs -#' @importFrom assertive assert_is_subset assert_has_no_duplicates -#' @importFrom assertive assert_is_all_of assert_is_any_of -#' @importFrom assertive assert_is_a_bool assert_is_a_number -#' @importFrom assertive assert_is_a_string assert_is_character -#' @importFrom assertive assert_is_scalar -#' @importFrom Biostrings complement DNAStringSet -#' @importFrom Biostrings vmatchPattern vcountPDict -#' @importFrom BiocGenerics end end<- invertStrand -#' @importFrom BiocGenerics start start<- strand strand<- -#' @importFrom BSgenome getSeq getBSgenome -#' @importFrom data.table := data.table as.data.table setnames -#' @importFrom data.table setnames setorderv setnafill .SD -#' @importFrom GenomeInfoDb genome -#' @importFrom GenomeInfoDb seqinfo seqinfo<- -#' @importFrom GenomeInfoDb seqlevels seqlevels<- seqlevelsInUse -#' @importFrom GenomeInfoDb seqlevelsStyle seqlevelsStyle<- -#' @importFrom GenomeInfoDb seqnames seqnames<- -#' @importFrom GenomeInfoDb sortSeqlevels standardChromosomes -#' @importFrom GenomicRanges GRanges mcols mcols<- -#' @importFrom ggplot2 aes aes_string -#' @importFrom ggplot2 facet_wrap geom_point geom_segment -#' @importFrom ggplot2 ggplot ggtitle scale_x_continuous -#' @importFrom ggplot2 scale_alpha_manual scale_size_manual -#' @importFrom ggplot2 theme_bw unit xlab ylab -#' @importFrom grid arrow -#' @importFrom magrittr %>% %<>% add and -#' @importFrom magrittr extract extract2 set_names -#' @importFrom methods as -#' @importFrom tidyr separate_rows -#' @importFrom utils download.file getFromNamespace head -#' @importFrom utils tail read.csv read.table -#' @importFrom stringi stri_detect_regex stri_locate_all_fixed -#' @importFrom stringi stri_locate_all_regex -#' @importFrom stringi stri_replace_first_fixed -#' @importFrom stringi stri_startswith_fixed -NULL +#' @importFrom assertive assert_all_are_true is_identical_to_true +#' @importFrom assertive assert_all_are_false +#' @importFrom assertive assert_all_are_existing_files +#' @importFrom assertive assert_all_are_less_than +#' @importFrom assertive assert_all_are_matching_regex +#' @importFrom assertive assert_are_identical assert_are_same_length +#' @importFrom assertive has_names assert_has_names +#' @importFrom assertive is_windows assert_all_are_dirs +#' @importFrom assertive assert_is_subset assert_has_no_duplicates +#' @importFrom assertive assert_is_all_of assert_is_any_of +#' @importFrom assertive assert_is_a_bool assert_is_a_number +#' @importFrom assertive assert_is_a_string assert_is_character +#' @importFrom assertive assert_is_scalar +#' @importFrom Biostrings complement DNAStringSet +#' @importFrom Biostrings vmatchPattern vcountPDict +#' @importFrom BiocGenerics end end<- invertStrand +#' @importFrom BiocGenerics start start<- strand strand<- +#' @importFrom BSgenome getSeq getBSgenome +#' @importFrom data.table := data.table as.data.table setnames +#' @importFrom data.table setnames setorderv setnafill .SD +#' @importFrom GenomeInfoDb genome +#' @importFrom GenomeInfoDb seqinfo seqinfo<- +#' @importFrom GenomeInfoDb seqlevels seqlevels<- seqlevelsInUse +#' @importFrom GenomeInfoDb seqlevelsStyle seqlevelsStyle<- +#' @importFrom GenomeInfoDb seqnames seqnames<- +#' @importFrom GenomeInfoDb sortSeqlevels standardChromosomes +#' @importFrom GenomicRanges GRanges mcols mcols<- +#' @importFrom ggplot2 aes aes_string +#' @importFrom ggplot2 facet_wrap geom_point geom_segment +#' @importFrom ggplot2 ggplot ggtitle scale_x_continuous +#' @importFrom ggplot2 scale_alpha_manual scale_size_manual +#' @importFrom ggplot2 theme_bw unit xlab ylab +#' @importFrom grid arrow +#' @importFrom magrittr %>% %<>% add and +#' @importFrom magrittr extract extract2 set_names +#' @importFrom methods as +#' @importFrom tidyr separate_rows +#' @importFrom utils download.file getFromNamespace head +#' @importFrom utils tail read.csv read.table +#' @importFrom stringi stri_detect_regex stri_locate_all_fixed +#' @importFrom stringi stri_locate_all_regex +#' @importFrom stringi stri_replace_first_fixed +#' @importFrom stringi stri_startswith_fixed +NULL diff --git a/R/02_utilities.R b/R/02_utilities.R index 894e7f36f19db3b5a30bbafa51786118ded856c1..bf05da0edfb3a4638836ec6cb8f69c4f33848db5 100644 --- a/R/02_utilities.R +++ b/R/02_utilities.R @@ -1,88 +1,88 @@ -cduplicated <- function(x) duplicated(x) | duplicated(x, fromLast = TRUE) - -cmessage <- function(...) message(sprintf(...)) - - -num2scalarstr <- function(x){ - if (length(unique(x))==1){ - x[1] - } else { - x %<>% extract(!is.na(x)) - x %<>% extract(is.finite(x)) - paste0(min(x), ' - ', max(x)) - } -} - -csign <- function(x) if (sign(x)==-1) '-' else '+' - -uniquify <- function(x){ - .N <- N <- suffix <- xunique <- NULL - dt <- data.table::data.table(x = x) - dt[, N := .N, by='x'] - dt[N==1, xunique := x] - dt[N>1, xunique := paste0(x, '_', seq_len(.N)), by = 'x'] - dt[, xunique] -} - -#' Make unique names -#' @param x vector -#' @param prefix string: prefix with which to start names -#' @return character vector with unique names -#' @noRd -make_unique_names <- function(x, prefix='T'){ - - if (has_names(x)){ - return(uniquify(names(x))) - } else { - y <- as.character(x) - assert_has_no_duplicates(y) - return(y) - } - - - #paste0(prefix, formatC(seq_along(x), - # digits = floor(log10(length(x))), - # flag = 0)) -} - -name_uniquely <- function(gr, prefix = 'x'){ - names(gr) <- make_unique_names(gr, prefix) - gr -} - -#' GRanges <-> data.table -#' -#' @param gr \code{\link[GenomicRanges]{GRanges-class}} -#' @param dt data.table -#' @param seqinfo \code{\link[GenomeInfoDb]{Seqinfo-class}} -#' @aliases dt2gr -#' @return data.table (gr2dt) or GRanges (dt2gr) -#' @examples -#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp -#' HBB = 'chr11:5227002:-', # snp -#' HEXA = 'chr15:72346580-72346583:-', # del -#' CFTR = 'chr7:117559593-117559595:+'), # ins -#' bsgenome) -#' (dt <- gr2dt(gr)) -#' (gr <- dt2gr(dt, BSgenome::seqinfo(bsgenome))) -#' @export -gr2dt <- function(gr){ - dt <- as.data.table(gr) - if (has_names(gr)){ - dt[ , names := names(gr)] - } - dt[] -} - -#' @rdname gr2dt -#' @export -dt2gr <- function(dt, seqinfo){ - gr <- GRanges(dt, seqinfo = seqinfo) - if ('names' %in% names(mcols(gr))){ - names(gr) <- gr$names - gr$names <- NULL - } - gr -} - +cduplicated <- function(x) duplicated(x) | duplicated(x, fromLast = TRUE) + +cmessage <- function(...) message(sprintf(...)) + + +num2scalarstr <- function(x){ + if (length(unique(x))==1){ + x[1] + } else { + x %<>% extract(!is.na(x)) + x %<>% extract(is.finite(x)) + paste0(min(x), ' - ', max(x)) + } +} + +csign <- function(x) if (sign(x)==-1) '-' else '+' + +uniquify <- function(x){ + .N <- N <- suffix <- xunique <- NULL + dt <- data.table::data.table(x = x) + dt[, N := .N, by='x'] + dt[N==1, xunique := x] + dt[N>1, xunique := paste0(x, '_', seq_len(.N)), by = 'x'] + dt[, xunique] +} + +#' Make unique names +#' @param x vector +#' @param prefix string: prefix with which to start names +#' @return character vector with unique names +#' @noRd +make_unique_names <- function(x, prefix='T'){ + + if (has_names(x)){ + return(uniquify(names(x))) + } else { + y <- as.character(x) + assert_has_no_duplicates(y) + return(y) + } + + + #paste0(prefix, formatC(seq_along(x), + # digits = floor(log10(length(x))), + # flag = 0)) +} + +name_uniquely <- function(gr, prefix = 'x'){ + names(gr) <- make_unique_names(gr, prefix) + gr +} + +#' GRanges <-> data.table +#' +#' @param gr \code{\link[GenomicRanges]{GRanges-class}} +#' @param dt data.table +#' @param seqinfo \code{\link[GenomeInfoDb]{Seqinfo-class}} +#' @aliases dt2gr +#' @return data.table (gr2dt) or GRanges (dt2gr) +#' @examples +#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp +#' HBB = 'chr11:5227002:-', # snp +#' HEXA = 'chr15:72346580-72346583:-', # del +#' CFTR = 'chr7:117559593-117559595:+'), # ins +#' bsgenome) +#' (dt <- gr2dt(gr)) +#' (gr <- dt2gr(dt, BSgenome::seqinfo(bsgenome))) +#' @export +gr2dt <- function(gr){ + dt <- as.data.table(gr) + if (has_names(gr)){ + dt[ , names := names(gr)] + } + dt[] +} + +#' @rdname gr2dt +#' @export +dt2gr <- function(dt, seqinfo){ + gr <- GRanges(dt, seqinfo = seqinfo) + if ('names' %in% names(mcols(gr))){ + names(gr) <- gr$names + gr$names <- NULL + } + gr +} + diff --git a/R/03_plot.R b/R/03_plot.R index 064695041dcf25a0ae15e8061c6cc6c5044723d0..bb648e17579001ad7a8ac697c483456e4683c36c 100644 --- a/R/03_plot.R +++ b/R/03_plot.R @@ -1,225 +1,225 @@ - -#' Karyo/Interval Plot GRanges(List) -#' @param grlist \code{\link[GenomicRanges]{GRanges-class}} -#' @param title plot title -#' @return list -#' @seealso \code{\link{plot_intervals}} -#' @examples -#' # Plot GRanges -#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') -#' gr <- bed_to_granges(bedfile, 'mm10', plot = FALSE) -#' plot_karyogram(gr) -#' -#' # Plot GRangesList -#' flanks <- up_flank(gr, stranded=FALSE) -#' grlist <- GenomicRanges::GRangesList(sites = gr, flanks = flanks) -#' plot_karyogram(grlist) -#' @export -plot_karyogram <- function( - grlist, - title = unique(genome(grlist)) -){ - - # Assert - . <- NULL - if (methods::is(grlist, 'GRanges')){ - grlist <- GenomicRanges::GRangesList(grlist) - } - assert_is_all_of(grlist, 'GRangesList') - - # Extract relevant chromosomes and order them - chroms <- union(seqlevelsInUse(grlist), standardChromosomes(grlist)) - stri_extract <- function(stri, pattern){ - stri %>% extract(stri_detect_regex(., pattern)) - } - chrs1 <- chroms %>% stri_extract('^(chr)?[0-9]$') %>% sort() - chrs2 <- chroms %>% stri_extract('^(chr)?[0-9]{2}$') %>% sort() - chrsXY <- chroms %>% stri_extract('^(chr)?[XY]$') %>% sort() - chrsM <- chroms %>% stri_extract('^(chr)?MT?$') - orderedchrs <- c(chrs1, chrs2, chrsXY, chrsM) %>% - c(sort(setdiff(chroms, .))) - genomeranges <- as(seqinfo(grlist)[orderedchrs], "GRanges") - - # Color - n <- length(grlist) - if (n>0){ - hues <- seq(15, 375, length = n + 1) - colors <- grDevices::hcl(h = hues, l = 65, c = 100)[seq_len(n)] - } - - # Plot - kp <- karyoploteR::plotKaryotype(genomeranges, main = title) - for (i in seq_len(n)){ - karyoploteR::kpPlotRegions(kp, grlist[[i]], col = colors[i]) - } - - # Add legend - if (has_names(grlist)){ - graphics::legend('right', fill = colors, legend = names(grlist)) - } - -} - - -to_megabase <- function(y){ - z <- vector('character', length(y)) - - i <- y>1e6 - z[i] <- paste0(round(y[i]*1e-6), ' M') - - i <- y>1e3 & y<=1e6 - z[i] <- paste0(round(y[i]*1e-3), ' K') - - i <- y<=1e3 - z[i] <- paste0(round(y[i]), 'b') - z %>% set_names(names(y)) -} - - -#' Interval plot GRanges -#' @param gr \code{\link[GenomicRanges]{GRanges-class}} -#' @param xref gr var used for scaling x axis -#' @param y 'names' (default) or name of gr variable -#' @param nperchrom number (default 1): n head (and n tail) targets -#' shown per chromosome -#' @param nchrom number (default 6) of chromosomes shown -#' @param color_var 'seqnames' (default) or other gr variable -#' @param linetype_var NULL (default) or gr variable mapped to linetype -#' @param size_var NULL (default) or gr variable mapped to size -#' @param facet_var NULL(default) or gr variable mapped to facet -#' @param alpha_var NULL or gr variable mapped to alpha -#' @param title NULL or string: plot title -#' @param scales 'free', 'fixed', etc -#' @return ggplot object -#' @seealso \code{\link{plot_karyogram}} -#' @examples -#' # SRF sites -#' require(magrittr) -#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 -#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') -#' targets <- bed_to_granges(bedfile, 'mm10', plot = FALSE) -#' plot_intervals(targets) -#' -#' # PE targets -#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', -#' HBB = 'chr11:5227002:-', -#' HEXA = 'chr15:72346580-72346583:-', -#' CFTR = 'chr7:117559593-117559595:+'), -#' bsgenome) -#' spacers <- find_pe_spacers(gr, bsgenome) -#' plot_intervals(gr) -#' plot_intervals(extend_for_pe(gr)) -#' plot_intervals(spacers) -#' -#' @export -plot_intervals <- function( - gr, xref = 'targetname', y = 'names', nperchrom = 2, nchrom = 4, - color_var = 'targetname', facet_var = 'seqnames', linetype_var = NULL, - size_var = default_size_var(gr), alpha_var = default_alpha_var(gr), - title = NULL, scales= 'free' -){ -# Comply - edge <- targetname <- NULL -# Assert, Import, Comply - assert_is_all_of(gr, 'GRanges') - if (!is.null(color_var)) assert_is_a_string(color_var) - assert_is_subset(color_var, names(as.data.table(gr))) - contig <- .N <- .SD <- seqnames <- start <- NULL - strand <- tmp <- width <- xstart <- xend <- . <- NULL -# Prepare plotdt - plotdt <- prepare_plot_intervals( - gr, xref, y, nperchrom, nchrom, alpha_var, size_var) -# Core Ranges - p <-ggplot( plotdt, - aes_string(x = 'xstart', xend = 'xend', y = 'y', yend = 'y', - color = color_var, linetype = linetype_var, - size = size_var, alpha = alpha_var)) + - facet_wrap(facet_var, scales = scales) + - geom_segment(arrow = arrow(length = unit(0.1, "inches"))) - if (!is.null(alpha_var)) p <- p + - scale_alpha_manual(values = c(`0` = 1, `1+` = 0.3)) - if (!is.null(size_var)) p <- p + - scale_size_manual(values = c(`0+` = 0.1, `0.3+` = 1, `0.5+` = 2)) -# Targets - if (all(c('targetstart', 'targetend') %in% names(mcols(gr)))){ - p <-p + geom_point(aes_string( - x = 'xtargetstart', y = 'y'), shape = '|', size = 4) + - geom_point(aes_string( - x = 'xtargetend', y = 'y'), shape = '|', size = 4)} -# Extensions - if ('extension' %in% names(mcols(gr))){ - p <-p + geom_segment( - aes_string( x = 'extstart', xend = 'extend', size = NULL), - linetype = 'dotted', - arrow = arrow(length = unit(0.1, "inches")))} - p <- p + theme_bw() + xlab(NULL) + ylab(NULL) + ggtitle(title) -# Return - p # print(p) -} - - -default_alpha_var <- function(gr){ - if ('off' %in% names(mcols(gr))) 'off' else NULL -} - -default_size_var <- function(gr){ - if ('Doench2016' %in% names(mcols(gr))) 'Doench2016' else NULL -} - - -head_tail <- function(x, n){ - idx <- x %in% unique( c(head(x, ceiling(n/2)), tail(x, floor(n/2)))) - x[idx] -} - -prepare_plot_intervals <- function( - gr, xref, y, nperchrom, nchrom, alpha_var, size_var -){ -# Comply - edge <- targetname <- xstart <- xend <- width <- NULL - targetstart <- targetend <- xtargetstart <- xtargetend <- NULL - extstart <- primer <- revtranscript <- extension <- tmp <- NULL -# Prepare data.table. Select chromosomes/targets to plot. - plotdt <- data.table::as.data.table(gr) %>% cbind(names = names(gr)) - plotdt %<>% extract(order(seqnames, start)) - plotdt$seqnames %<>% droplevels() - headtailchroms <- head_tail(levels(plotdt$seqnames), nchrom) - plotdt %<>% extract(headtailchroms, on = 'seqnames') - plotdt$seqnames %<>% factor(headtailchroms) - plotdt %<>% extract( # targets - , .SD[targetname %in% head_tail(unique(targetname), nperchrom)], - by = 'seqnames') -# Main ranges - plotdt %>% extract(, y := min(start), by = y) - plotdt %>% extract(, y := factor(format(y, big.mark = " "))) - plotdt %>% extract(, xstart := start-min(start), by = xref) - plotdt %>% extract(, xend := xstart + width) -# Target marks - if (all(c('targetstart', 'targetend') %in% names(mcols(gr)))){ - plotdt %>% extract(, xtargetstart := xstart + targetstart-start) - plotdt %>% extract(, xtargetend := xend + targetend-end )} -# Extensions - if ('extension' %in% names(mcols(gr))){ - plotdt %>% extract(strand=='+', extstart := xstart+18-nchar(primer)[1]) - plotdt %>% extract(strand=='-', - extstart := xend-16-(nchar(revtranscript)[1]-1)) - plotdt %>% extract(, extend := extstart + nchar(extension)[1]-1)} -# Flip for arrow direction - plotdt %>% extract(strand=='-', tmp := xend) - plotdt %>% extract(strand=='-', xend := xstart) - plotdt %>% extract(strand=='-', xstart := tmp) - if ('extension' %in% names(mcols(gr))){ - plotdt %>% extract(strand=='+', tmp := extend) - plotdt %>% extract(strand=='+', extend := extstart) - plotdt %>% extract(strand=='+', extstart := tmp)} - plotdt %>% extract(, tmp := NULL) -# Alpha and Size - if (!is.null(alpha_var)) plotdt[[alpha_var]] %<>% cut( - c(-Inf, 0, Inf), c('0', '1+')) - if (!is.null(size_var)) plotdt[[size_var]] %<>% cut( - c(-Inf, 0.3, 0.5, Inf), - c('0+', '0.3+', '0.5+')) -# Return - plotdt -} + +#' Karyo/Interval Plot GRanges(List) +#' @param grlist \code{\link[GenomicRanges]{GRanges-class}} +#' @param title plot title +#' @return list +#' @seealso \code{\link{plot_intervals}} +#' @examples +#' # Plot GRanges +#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') +#' gr <- bed_to_granges(bedfile, 'mm10', plot = FALSE) +#' plot_karyogram(gr) +#' +#' # Plot GRangesList +#' flanks <- up_flank(gr, stranded=FALSE) +#' grlist <- GenomicRanges::GRangesList(sites = gr, flanks = flanks) +#' plot_karyogram(grlist) +#' @export +plot_karyogram <- function( + grlist, + title = unique(genome(grlist)) +){ + + # Assert + . <- NULL + if (methods::is(grlist, 'GRanges')){ + grlist <- GenomicRanges::GRangesList(grlist) + } + assert_is_all_of(grlist, 'GRangesList') + + # Extract relevant chromosomes and order them + chroms <- union(seqlevelsInUse(grlist), standardChromosomes(grlist)) + stri_extract <- function(stri, pattern){ + stri %>% extract(stri_detect_regex(., pattern)) + } + chrs1 <- chroms %>% stri_extract('^(chr)?[0-9]$') %>% sort() + chrs2 <- chroms %>% stri_extract('^(chr)?[0-9]{2}$') %>% sort() + chrsXY <- chroms %>% stri_extract('^(chr)?[XY]$') %>% sort() + chrsM <- chroms %>% stri_extract('^(chr)?MT?$') + orderedchrs <- c(chrs1, chrs2, chrsXY, chrsM) %>% + c(sort(setdiff(chroms, .))) + genomeranges <- as(seqinfo(grlist)[orderedchrs], "GRanges") + + # Color + n <- length(grlist) + if (n>0){ + hues <- seq(15, 375, length = n + 1) + colors <- grDevices::hcl(h = hues, l = 65, c = 100)[seq_len(n)] + } + + # Plot + kp <- karyoploteR::plotKaryotype(genomeranges, main = title) + for (i in seq_len(n)){ + karyoploteR::kpPlotRegions(kp, grlist[[i]], col = colors[i]) + } + + # Add legend + if (has_names(grlist)){ + graphics::legend('right', fill = colors, legend = names(grlist)) + } + +} + + +to_megabase <- function(y){ + z <- vector('character', length(y)) + + i <- y>1e6 + z[i] <- paste0(round(y[i]*1e-6), ' M') + + i <- y>1e3 & y<=1e6 + z[i] <- paste0(round(y[i]*1e-3), ' K') + + i <- y<=1e3 + z[i] <- paste0(round(y[i]), 'b') + z %>% set_names(names(y)) +} + + +#' Interval plot GRanges +#' @param gr \code{\link[GenomicRanges]{GRanges-class}} +#' @param xref gr var used for scaling x axis +#' @param y 'names' (default) or name of gr variable +#' @param nperchrom number (default 1): n head (and n tail) targets +#' shown per chromosome +#' @param nchrom number (default 6) of chromosomes shown +#' @param color_var 'seqnames' (default) or other gr variable +#' @param linetype_var NULL (default) or gr variable mapped to linetype +#' @param size_var NULL (default) or gr variable mapped to size +#' @param facet_var NULL(default) or gr variable mapped to facet +#' @param alpha_var NULL or gr variable mapped to alpha +#' @param title NULL or string: plot title +#' @param scales 'free', 'fixed', etc +#' @return ggplot object +#' @seealso \code{\link{plot_karyogram}} +#' @examples +#' # SRF sites +#' require(magrittr) +#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 +#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') +#' targets <- bed_to_granges(bedfile, 'mm10', plot = FALSE) +#' plot_intervals(targets) +#' +#' # PE targets +#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', +#' HBB = 'chr11:5227002:-', +#' HEXA = 'chr15:72346580-72346583:-', +#' CFTR = 'chr7:117559593-117559595:+'), +#' bsgenome) +#' spacers <- find_pe_spacers(gr, bsgenome) +#' plot_intervals(gr) +#' plot_intervals(extend_for_pe(gr)) +#' plot_intervals(spacers) +#' +#' @export +plot_intervals <- function( + gr, xref = 'targetname', y = 'names', nperchrom = 2, nchrom = 4, + color_var = 'targetname', facet_var = 'seqnames', linetype_var = NULL, + size_var = default_size_var(gr), alpha_var = default_alpha_var(gr), + title = NULL, scales= 'free' +){ +# Comply + edge <- targetname <- NULL +# Assert, Import, Comply + assert_is_all_of(gr, 'GRanges') + if (!is.null(color_var)) assert_is_a_string(color_var) + assert_is_subset(color_var, names(as.data.table(gr))) + contig <- .N <- .SD <- seqnames <- start <- NULL + strand <- tmp <- width <- xstart <- xend <- . <- NULL +# Prepare plotdt + plotdt <- prepare_plot_intervals( + gr, xref, y, nperchrom, nchrom, alpha_var, size_var) +# Core Ranges + p <-ggplot( plotdt, + aes_string(x = 'xstart', xend = 'xend', y = 'y', yend = 'y', + color = color_var, linetype = linetype_var, + size = size_var, alpha = alpha_var)) + + facet_wrap(facet_var, scales = scales) + + geom_segment(arrow = arrow(length = unit(0.1, "inches"))) + if (!is.null(alpha_var)) p <- p + + scale_alpha_manual(values = c(`0` = 1, `1+` = 0.3)) + if (!is.null(size_var)) p <- p + + scale_size_manual(values = c(`0+` = 0.1, `0.3+` = 1, `0.5+` = 2)) +# Targets + if (all(c('targetstart', 'targetend') %in% names(mcols(gr)))){ + p <-p + geom_point(aes_string( + x = 'xtargetstart', y = 'y'), shape = '|', size = 4) + + geom_point(aes_string( + x = 'xtargetend', y = 'y'), shape = '|', size = 4)} +# Extensions + if ('extension' %in% names(mcols(gr))){ + p <-p + geom_segment( + aes_string( x = 'extstart', xend = 'extend', size = NULL), + linetype = 'dotted', + arrow = arrow(length = unit(0.1, "inches")))} + p <- p + theme_bw() + xlab(NULL) + ylab(NULL) + ggtitle(title) +# Return + p # print(p) +} + + +default_alpha_var <- function(gr){ + if ('off' %in% names(mcols(gr))) 'off' else NULL +} + +default_size_var <- function(gr){ + if ('Doench2016' %in% names(mcols(gr))) 'Doench2016' else NULL +} + + +head_tail <- function(x, n){ + idx <- x %in% unique( c(head(x, ceiling(n/2)), tail(x, floor(n/2)))) + x[idx] +} + +prepare_plot_intervals <- function( + gr, xref, y, nperchrom, nchrom, alpha_var, size_var +){ +# Comply + edge <- targetname <- xstart <- xend <- width <- NULL + targetstart <- targetend <- xtargetstart <- xtargetend <- NULL + extstart <- primer <- revtranscript <- extension <- tmp <- NULL +# Prepare data.table. Select chromosomes/targets to plot. + plotdt <- data.table::as.data.table(gr) %>% cbind(names = names(gr)) + plotdt %<>% extract(order(seqnames, start)) + plotdt$seqnames %<>% droplevels() + headtailchroms <- head_tail(levels(plotdt$seqnames), nchrom) + plotdt %<>% extract(headtailchroms, on = 'seqnames') + plotdt$seqnames %<>% factor(headtailchroms) + plotdt %<>% extract( # targets + , .SD[targetname %in% head_tail(unique(targetname), nperchrom)], + by = 'seqnames') +# Main ranges + plotdt %>% extract(, y := min(start), by = y) + plotdt %>% extract(, y := factor(format(y, big.mark = " "))) + plotdt %>% extract(, xstart := start-min(start), by = xref) + plotdt %>% extract(, xend := xstart + width) +# Target marks + if (all(c('targetstart', 'targetend') %in% names(mcols(gr)))){ + plotdt %>% extract(, xtargetstart := xstart + targetstart-start) + plotdt %>% extract(, xtargetend := xend + targetend-end )} +# Extensions + if ('extension' %in% names(mcols(gr))){ + plotdt %>% extract(strand=='+', extstart := xstart+18-nchar(primer)[1]) + plotdt %>% extract(strand=='-', + extstart := xend-16-(nchar(revtranscript)[1]-1)) + plotdt %>% extract(, extend := extstart + nchar(extension)[1]-1)} +# Flip for arrow direction + plotdt %>% extract(strand=='-', tmp := xend) + plotdt %>% extract(strand=='-', xend := xstart) + plotdt %>% extract(strand=='-', xstart := tmp) + if ('extension' %in% names(mcols(gr))){ + plotdt %>% extract(strand=='+', tmp := extend) + plotdt %>% extract(strand=='+', extend := extstart) + plotdt %>% extract(strand=='+', extstart := tmp)} + plotdt %>% extract(, tmp := NULL) +# Alpha and Size + if (!is.null(alpha_var)) plotdt[[alpha_var]] %<>% cut( + c(-Inf, 0, Inf), c('0', '1+')) + if (!is.null(size_var)) plotdt[[size_var]] %<>% cut( + c(-Inf, 0.3, 0.5, Inf), + c('0+', '0.3+', '0.5+')) +# Return + plotdt +} diff --git a/R/04_bed_to_granges.R b/R/04_bed_to_granges.R index bbdfb244acb4d7cd22403d35ad8b94fe72f70927..0e4f47cb27700b1a065beeefbb22952abac84f35 100644 --- a/R/04_bed_to_granges.R +++ b/R/04_bed_to_granges.R @@ -1,207 +1,207 @@ - -#============================================================================= -# bed_to_granges -#============================================================================= - - -annotate_granges <- function(gr, txdb){ - - # Assert. Import. Comply. - assert_is_all_of(gr, 'GRanges') - assert_is_all_of(txdb, 'TxDb') - gene_id <- NULL - - # Align seqlevelStyle if required - if (seqlevelsStyle(gr) != seqlevelsStyle(txdb)){ - message("Setting seqlevelsStyle(txdb) <- seqlevelsStyle(gr)") - seqlevelsStyle(txdb) <- seqlevelsStyle(gr) - } - - # Drop seqinfo (to overlap smoothly) - txranges <- GenomicFeatures::genes(txdb) %>% - as.data.table() %>% - extract(seqlevelsInUse(gr), on = 'seqnames') %>% - extract(, c('seqnames', 'start', 'end', 'strand', 'gene_id'), - with = FALSE) %>% - as('GRanges') - - # Overlap - granno <- as.data.table(gr) %>% - as('GRanges') %>% - plyranges::join_overlap_left(txranges) %>% - as.data.table() %>% - extract(!is.na(gene_id) , - gene_id := paste0(gene_id, collapse = ';'), - by = c('seqnames', 'start', 'end', 'strand')) %>% - unique() %>% - as('GRanges') - seqlevels(granno) %<>% setdiff('.') # patch plyranges bug - seqinfo(granno) <- seqinfo(gr) - granno -} - - - -#' Read bedfile into GRanges -#' @param bedfile file path -#' @param genome string: UCSC genome name (e.g. 'mm10') -#' @param txdb NULL (default) or \code{\link[GenomicFeatures]{TxDb-class}} -#' (used for gene annotation) -#' @param do_order TRUE (default) or FALSE: order on seqnames and star? -#' @param plot TRUE (default) or FALSE: plot karyogram? -#' @param verbose TRUE (default) or FALSE -#' @return \code{\link[GenomicRanges]{GRanges-class}} -#' @seealso \code{\link{char_to_granges}}, \code{\link{genes_to_granges}} -#' @examples -#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') -#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 -#' (gr <- bed_to_granges(bedfile, genome='mm10')) -#' @export -bed_to_granges <- function( - bedfile, - genome, - txdb = NULL, - do_order = TRUE, - plot = TRUE, - verbose = TRUE -){ - . <- NULL - - # Assert - assert_all_are_existing_files(bedfile) - if (!is.null(txdb)) assert_is_all_of(txdb, 'TxDb') - assert_is_a_bool(do_order) - assert_is_a_bool(plot) - assert_is_a_bool(verbose) - - # Read - if (verbose) cmessage('\tRead %s into GRanges', basename(bedfile)) - gr <- rtracklayer::import.bed(bedfile, genome = genome) - if (verbose) cmessage('\t\t%d ranges on %d chromosomes', - length(gr), length(unique(seqnames(gr)))) - - # Annotate - if (!is.null(txdb)){ - cmessage('\t\tAnnotate with txdb') - gr %<>% annotate_granges(txdb) - } - - # Plot - genome1 <- unique(genome(gr)) - assert_is_scalar(genome1) - title <- paste0(genome1, ': ', basename(bedfile)) - if (plot) plot_karyogram(gr, title) - - # Order - if (do_order) gr %<>% sort(ignore.strand = TRUE) - #%<>% extract( order(seqnames(.), start(.))) - - # Record - names(gr) <- gr$targetname <- make_unique_names(gr, 'T') - gr$targetstart <- GenomicRanges::start(gr) - gr$targetend <- GenomicRanges::end(gr) - - # Return - gr -} - - -#' Convert character vector into GRanges -#' @param x character vector -#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} -#' @return \code{\link[GenomicRanges]{GRanges-class}} -#' @examples -#' require(magrittr) -#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -#' x <- c(PRNP = 'chr20:4699600:+', # snp -#' HBB = 'chr11:5227002:-', # snp -#' HEXA = 'chr15:72346580-72346583:-', # del -#' CFTR = 'chr7:117559593-117559595:+') # ins -#' gr <- char_to_granges(x, bsgenome) -#' plot_intervals(gr, facet_var = c('targetname', 'seqnames')) -#' @seealso \code{\link{bed_to_granges}}, \code{\link{genes_to_granges}} -#' @export -char_to_granges <- function(x, bsgenome){ - gr <- GenomicRanges::GRanges(x, seqinfo = BSgenome::seqinfo(bsgenome)) - names(gr) <- gr$targetname <- make_unique_names(gr, 'T') - gr$targetstart <- GenomicRanges::start(gr) - gr$targetend <- GenomicRanges::end(gr) - gr -} - - - -#' Convert geneids into GRanges -#' @param file Gene identifier file (one per row) -#' @param geneids Gene identifier vector -#' @param complement TRUE (default) or FALSE: add complementary strand? -#' @param txdb \code{\link[GenomicFeatures]{TxDb-class}} or -#' \code{\link[ensembldb]{EnsDb-class}} -#' @param plot TRUE (default) or FALSE -#' @param verbose TRUE (default) or FALSE -#' @return \code{\link[GenomicRanges]{GRanges-class}} -#' @seealso \code{\link{char_to_granges}}, \code{\link{bed_to_granges}} -#' @examples -#' # Entrez -#' #------- -#' genefile <- system.file('extdata/SRF.entrez', package='multicrispr') -#' geneids <- as.character(read.table(genefile)[[1]]) -#' txdb <- getFromNamespace('TxDb.Mmusculus.UCSC.mm10.knownGene', -#' 'TxDb.Mmusculus.UCSC.mm10.knownGene') -#' (gr <- genes_to_granges(geneids, txdb)) -#' (gr <- genefile_to_granges(genefile, txdb)) -#' -#' # Ensembl -#' #-------- -#' # txdb <- AnnotationHub::AnnotationHub()[["AH75036"]] -#' # genefile <- system.file('extdata/SRF.ensembl', package='multicrispr') -#' # geneids <- as.character(read.table(genefile)[[1]]) -#' # (gr <- genes_to_granges(geneids, txdb)) -#' # (gr <- genefile_to_granges(genefile, txdb)) -#' @export -genes_to_granges <- function( - geneids, - txdb, - complement = TRUE, - plot = TRUE, - verbose = TRUE -){ - - # Assert - assert_is_character(geneids) - assert_is_any_of(txdb, c('TxDb', 'EnsDb')) - assert_is_a_bool(complement) - assert_is_a_bool(plot) - - # Convert - gr <- GenomicFeatures::genes(txdb)[geneids] - if (verbose) cmessage('\t\tConvert %d genes to %d GRanges', - length(geneids), length(gr)) - - # Add complementary strand - if (complement){ - gr %<>% add_inverse_strand(plot = FALSE, verbose = verbose) - } - - # Plot - if (plot) plot_karyogram(gr) - - # Record - names(gr) <- gr$targetname <- make_unique_names(gr, 'T') - gr$targetstart <- GenomicRanges::start(gr) - gr$targetend <- GenomicRanges::end(gr) - - # Return - gr -} - - -#' @rdname genes_to_granges -#' @export -genefile_to_granges <- function(file, txdb, complement = TRUE, plot = TRUE){ - assert_all_are_existing_files(file) - geneids <- read.table(file)[[1]] %>% as.character() - genes_to_granges(geneids, txdb, complement = complement, plot = plot) -} - - + +#============================================================================= +# bed_to_granges +#============================================================================= + + +annotate_granges <- function(gr, txdb){ + + # Assert. Import. Comply. + assert_is_all_of(gr, 'GRanges') + assert_is_all_of(txdb, 'TxDb') + gene_id <- NULL + + # Align seqlevelStyle if required + if (seqlevelsStyle(gr) != seqlevelsStyle(txdb)){ + message("Setting seqlevelsStyle(txdb) <- seqlevelsStyle(gr)") + seqlevelsStyle(txdb) <- seqlevelsStyle(gr) + } + + # Drop seqinfo (to overlap smoothly) + txranges <- GenomicFeatures::genes(txdb) %>% + as.data.table() %>% + extract(seqlevelsInUse(gr), on = 'seqnames') %>% + extract(, c('seqnames', 'start', 'end', 'strand', 'gene_id'), + with = FALSE) %>% + as('GRanges') + + # Overlap + granno <- as.data.table(gr) %>% + as('GRanges') %>% + plyranges::join_overlap_left(txranges) %>% + as.data.table() %>% + extract(!is.na(gene_id) , + gene_id := paste0(gene_id, collapse = ';'), + by = c('seqnames', 'start', 'end', 'strand')) %>% + unique() %>% + as('GRanges') + seqlevels(granno) %<>% setdiff('.') # patch plyranges bug + seqinfo(granno) <- seqinfo(gr) + granno +} + + + +#' Read bedfile into GRanges +#' @param bedfile file path +#' @param genome string: UCSC genome name (e.g. 'mm10') +#' @param txdb NULL (default) or \code{\link[GenomicFeatures]{TxDb-class}} +#' (used for gene annotation) +#' @param do_order TRUE (default) or FALSE: order on seqnames and star? +#' @param plot TRUE (default) or FALSE: plot karyogram? +#' @param verbose TRUE (default) or FALSE +#' @return \code{\link[GenomicRanges]{GRanges-class}} +#' @seealso \code{\link{char_to_granges}}, \code{\link{genes_to_granges}} +#' @examples +#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') +#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 +#' (gr <- bed_to_granges(bedfile, genome='mm10')) +#' @export +bed_to_granges <- function( + bedfile, + genome, + txdb = NULL, + do_order = TRUE, + plot = TRUE, + verbose = TRUE +){ + . <- NULL + + # Assert + assert_all_are_existing_files(bedfile) + if (!is.null(txdb)) assert_is_all_of(txdb, 'TxDb') + assert_is_a_bool(do_order) + assert_is_a_bool(plot) + assert_is_a_bool(verbose) + + # Read + if (verbose) cmessage('\tRead %s into GRanges', basename(bedfile)) + gr <- rtracklayer::import.bed(bedfile, genome = genome) + if (verbose) cmessage('\t\t%d ranges on %d chromosomes', + length(gr), length(unique(seqnames(gr)))) + + # Annotate + if (!is.null(txdb)){ + cmessage('\t\tAnnotate with txdb') + gr %<>% annotate_granges(txdb) + } + + # Plot + genome1 <- unique(genome(gr)) + assert_is_scalar(genome1) + title <- paste0(genome1, ': ', basename(bedfile)) + if (plot) plot_karyogram(gr, title) + + # Order + if (do_order) gr %<>% sort(ignore.strand = TRUE) + #%<>% extract( order(seqnames(.), start(.))) + + # Record + names(gr) <- gr$targetname <- make_unique_names(gr, 'T') + gr$targetstart <- GenomicRanges::start(gr) + gr$targetend <- GenomicRanges::end(gr) + + # Return + gr +} + + +#' Convert character vector into GRanges +#' @param x character vector +#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} +#' @return \code{\link[GenomicRanges]{GRanges-class}} +#' @examples +#' require(magrittr) +#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +#' x <- c(PRNP = 'chr20:4699600:+', # snp +#' HBB = 'chr11:5227002:-', # snp +#' HEXA = 'chr15:72346580-72346583:-', # del +#' CFTR = 'chr7:117559593-117559595:+') # ins +#' gr <- char_to_granges(x, bsgenome) +#' plot_intervals(gr, facet_var = c('targetname', 'seqnames')) +#' @seealso \code{\link{bed_to_granges}}, \code{\link{genes_to_granges}} +#' @export +char_to_granges <- function(x, bsgenome){ + gr <- GenomicRanges::GRanges(x, seqinfo = BSgenome::seqinfo(bsgenome)) + names(gr) <- gr$targetname <- make_unique_names(gr, 'T') + gr$targetstart <- GenomicRanges::start(gr) + gr$targetend <- GenomicRanges::end(gr) + gr +} + + + +#' Convert geneids into GRanges +#' @param file Gene identifier file (one per row) +#' @param geneids Gene identifier vector +#' @param complement TRUE (default) or FALSE: add complementary strand? +#' @param txdb \code{\link[GenomicFeatures]{TxDb-class}} or +#' \code{\link[ensembldb]{EnsDb-class}} +#' @param plot TRUE (default) or FALSE +#' @param verbose TRUE (default) or FALSE +#' @return \code{\link[GenomicRanges]{GRanges-class}} +#' @seealso \code{\link{char_to_granges}}, \code{\link{bed_to_granges}} +#' @examples +#' # Entrez +#' #------- +#' genefile <- system.file('extdata/SRF.entrez', package='multicrispr') +#' geneids <- as.character(read.table(genefile)[[1]]) +#' txdb <- getFromNamespace('TxDb.Mmusculus.UCSC.mm10.knownGene', +#' 'TxDb.Mmusculus.UCSC.mm10.knownGene') +#' (gr <- genes_to_granges(geneids, txdb)) +#' (gr <- genefile_to_granges(genefile, txdb)) +#' +#' # Ensembl +#' #-------- +#' # txdb <- AnnotationHub::AnnotationHub()[["AH75036"]] +#' # genefile <- system.file('extdata/SRF.ensembl', package='multicrispr') +#' # geneids <- as.character(read.table(genefile)[[1]]) +#' # (gr <- genes_to_granges(geneids, txdb)) +#' # (gr <- genefile_to_granges(genefile, txdb)) +#' @export +genes_to_granges <- function( + geneids, + txdb, + complement = TRUE, + plot = TRUE, + verbose = TRUE +){ + + # Assert + assert_is_character(geneids) + assert_is_any_of(txdb, c('TxDb', 'EnsDb')) + assert_is_a_bool(complement) + assert_is_a_bool(plot) + + # Convert + gr <- GenomicFeatures::genes(txdb)[geneids] + if (verbose) cmessage('\t\tConvert %d genes to %d GRanges', + length(geneids), length(gr)) + + # Add complementary strand + if (complement){ + gr %<>% add_inverse_strand(plot = FALSE, verbose = verbose) + } + + # Plot + if (plot) plot_karyogram(gr) + + # Record + names(gr) <- gr$targetname <- make_unique_names(gr, 'T') + gr$targetstart <- GenomicRanges::start(gr) + gr$targetend <- GenomicRanges::end(gr) + + # Return + gr +} + + +#' @rdname genes_to_granges +#' @export +genefile_to_granges <- function(file, txdb, complement = TRUE, plot = TRUE){ + assert_all_are_existing_files(file) + geneids <- read.table(file)[[1]] %>% as.character() + genes_to_granges(geneids, txdb, complement = complement, plot = plot) +} + + diff --git a/R/05_manipulate_ranges.R b/R/05_manipulate_ranges.R index 754e90efc6c430b7af4d9e17c47a60396f2670af..8b2fe81a1484c7a6f824c0c24e276a7d6a121ede 100644 --- a/R/05_manipulate_ranges.R +++ b/R/05_manipulate_ranges.R @@ -1,390 +1,390 @@ -#' Add sequence to GRanges -#' @param gr \code{\link[GenomicRanges]{GRanges-class}} -#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} -#' @param verbose TRUE or FALSE (default) -#' @param as.character TRUE (default) or FALSE -#' @return \code{\link[GenomicRanges]{GRanges-class}} -#' @examples -#' # PE example -#' #----------- -#' require(magrittr) -#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp -#' HBB = 'chr11:5227002:-', # snp -#' HEXA = 'chr15:72346580-72346583:-', # del -#' CFTR = 'chr7:117559593-117559595:+'), # ins -#' bsgenome) -#' (gr %<>% add_seq(bsgenome)) -#' -#' # TFBS example -#' #------------- -#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 -#' bedfile <- system.file('extdata/SRF.bed', package='multicrispr') -#' gr <- bed_to_granges(bedfile, 'mm10') -#' (gr %<>% add_seq(bsgenome)) -#' @export -add_seq <- function(gr, bsgenome, verbose = FALSE, as.character = TRUE){ - - # Assert - assert_is_all_of(gr, 'GRanges') - assert_is_all_of(bsgenome, 'BSgenome') - - # Message - if (verbose) cmessage('\tAdd seq') - - # Align seqlevelsStyle if required - if (seqlevelsStyle(bsgenome)[1] != seqlevelsStyle(gr)[1]){ - cmessage("\t\t\tSet seqlevelStyle(bsgenome) <- seqlevelStyle(gr)") - seqlevelsStyle(bsgenome)[1] <- seqlevelsStyle(gr)[1] - } - - # Add seq - gr$seq <- unname(BSgenome::getSeq( - bsgenome, - names = seqnames(gr), - start = start(gr), - end = end(gr), - strand = strand(gr), - as.character = as.character)) - - # Return - gr -} - - -summarize_loci <- function(gr){ - sprintf('%s:%s-%s', - as.character(seqnames(gr)), - start(gr), - end(gr)) -} - -#' Extend or Flank GRanges -#' -#' Returns extensions, upstream flanks, or downstream flanks -#' -#' \code{up_flank} returns upstream flanks, in relation to start(gr). -#' \code{down_flank} returns downstream flanks, in relation to end(gr). -#' \code{extend} returns extensions, in relation to start(gr) and end(gr) -#' @param gr \code{\link[GenomicRanges]{GRanges-class}} -#' @param start (pos or neg) number: relative start position (see details) -#' @param end (pos or neg) number: relative end position (see details) -#' @param strandaware TRUE (default) or FALSE: consider strand information? -#' @param bsgenome NULL (default) or \code{\link[BSgenome]{BSgenome-class}}. -#' Required to update gr$seq if present. -#' @param verbose TRUE or FALSE (default) -#' @param plot TRUE or FALSE (default) -#' @param linetype_var string: gr var mapped to linetype -#' @param ... passed to \code{\link{plot_intervals}} -#' @return a \code{\link[GenomicRanges]{GRanges-class}} -#' @examples -#' # PE example -#' #----------- -#' require(magrittr) -#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp -#' HBB = 'chr11:5227002:-', # snp -#' HEXA = 'chr15:72346580-72346583:-', # del -#' CFTR = 'chr7:117559593-117559595:+'),# ins -#' bsgenome = bsgenome) -#' gr %>% up_flank( -22, -1, plot=TRUE, facet_var=c('targetname', 'seqnames')) -#' gr %>% up_flank( -22, -1, plot=TRUE, strandaware=FALSE) -#' gr %>% down_flank(+1, +22, plot=TRUE) -#' gr %>% down_flank(+1, +22, plot=TRUE, strandaware=FALSE) -#' gr %>% extend( -10, +20, plot=TRUE) -#' gr %>% extend( -10, +20, plot=TRUE, strandaware=FALSE) -#' -#' # TFBS example -#' #------------- -#' bedfile <- system.file('extdata/SRF.bed', package='multicrispr') -#' gr <- bed_to_granges(bedfile, genome = 'mm10') -#' gr %>% extend(plot = TRUE) -#' gr %>% up_flank(plot = TRUE) -#' gr %>% down_flank(plot = TRUE) -#' @export -up_flank <- function( - gr, start = -200, end = -1, strandaware = TRUE, bsgenome = NULL, - verbose = FALSE, plot = FALSE, linetype_var = 'set', ... -){ - # Assert - assert_is_all_of(gr, 'GRanges') - assert_is_a_number(start) - assert_is_a_number(end) - assert_is_a_bool(verbose) - - # Record - newgr <- gr - shift <- sprintf('(%s%d,%s%d)', - csign(start), abs(start), csign(end), abs(end)) - txt <- sprintf('\t\t%d%supstream %s flanks', - length(newgr), - ifelse(!strandaware, ' (strandagnostic) ', ' '), - shift) - - # Flank - GenomicRanges::start(newgr) <- GenomicRanges::start(gr) + start - GenomicRanges::end(newgr) <- GenomicRanges::start(gr) + end - if (strandaware){ - idx <- as.logical(strand(newgr)=='-') - # do not switch following lines to avoid integrity errors ! - GenomicRanges::end( newgr)[idx] <- GenomicRanges::end(gr)[idx] - start - GenomicRanges::start(newgr)[idx] <- GenomicRanges::end(gr)[idx] - end - } - - # Add seq - if ('seq' %in% names(mcols(gr))){ - assert_is_all_of(bsgenome, 'BSgenome') - newgr %<>% add_seq(bsgenome) - } - - # Plot, Message, Return - if (plot){ - gr$set <- 'original' - newgr$set <- 'upstream flanks' - allgr <- c(gr, newgr) - allgr$set %<>% factor(c('original', 'upstream flanks')) - print(plot_intervals( - allgr, linetype_var = linetype_var, ..., title = txt)) - newgr$set <- NULL - } - if (verbose) message(txt) - newgr -} - - -#' @rdname up_flank -#' @export -down_flank <- function( - gr, start = 1, end = 200, strandaware = TRUE, bsgenome = NULL, - verbose = FALSE, plot = FALSE, linetype_var = 'set', ... -){ - # Assert - assert_is_any_of(gr, 'GRanges') - assert_is_a_number(start) - assert_is_a_number(end) - assert_is_a_bool(verbose) - - # Record - newgr <- gr - shift <- sprintf('(%s%d,%s%d)', - csign(start), abs(start), csign(end), abs(end)) - txt <- sprintf('\t\t%d%sdownstream %s flanks', - length(newgr), - ifelse(!strandaware, ' (strandagnostic) ', ' '), - shift) - - # Flank - GenomicRanges::end(newgr) <- GenomicRanges::end(gr) + end - GenomicRanges::start(newgr) <- GenomicRanges::end(gr) + start - if (strandaware){ - idx <- as.logical(strand(newgr)=='-') - GenomicRanges::start(newgr)[idx] <- GenomicRanges::start(gr)[idx]-end - GenomicRanges::end( newgr)[idx] <- GenomicRanges::start(gr)[idx]-start - } - - # Add seq - if ('seq' %in% names(mcols(gr))){ - assert_is_all_of(bsgenome, 'BSgenome') - newgr %<>% add_seq(bsgenome) - } - - # Plot, Message, Return - if (plot){ - gr$set <- 'original' - newgr$set <- 'downstream flanks' - allgr <- c(gr, newgr) - allgr$set %<>% factor(c('original', 'downstream flanks')) - print(plot_intervals( - allgr, linetype_var = linetype_var, ..., title=txt)) - newgr$set <- NULL - } - if (verbose) message(txt) - newgr -} - - -#' @rdname up_flank -#' @export -extend <- function( - gr, start = -22, end = 22, strandaware = TRUE, bsgenome = NULL, - verbose = FALSE, plot = FALSE, linetype_var = 'set', ... -){ - - # Assert - assert_is_any_of(gr, 'GRanges') - assert_is_a_number(start) - assert_is_a_number(end) - assert_is_a_bool(verbose) - - # Record - newgr <- gr - shift <- sprintf('(%s%d,%s%d)', - csign(start), abs(start), csign(end), abs(end)) - txt <- sprintf('\t\t%d%sextensions %s', - length(newgr), - ifelse(!strandaware, ' (strandagnostic) ', ' '), - shift) - - # Extend - GenomicRanges::start(newgr) <- GenomicRanges::start(newgr) + start - GenomicRanges::end( newgr) <- GenomicRanges::end( newgr) + end - if (strandaware){ - idx <- as.logical(strand(newgr)=='-') - GenomicRanges::start(newgr)[idx] <- GenomicRanges::start(gr)[idx] - end - GenomicRanges::end( newgr)[idx] <- GenomicRanges::end(gr)[idx] - start - } - - # Add seq - if ('seq' %in% names(mcols(gr))){ - assert_is_all_of(bsgenome, 'BSgenome') - newgr %<>% add_seq(bsgenome) - } - - # Plot, Message, Return - if (plot){ - gr$set <- 'original' - newgr$set <- 'extensions' - allgr <- c(gr, newgr) - allgr$set %<>% factor(c('original', 'extensions')) - print(plot_intervals( - allgr, linetype_var = linetype_var, ..., title=txt)) - newgr$set <- NULL - } - if (verbose) message(txt) - newgr - -} - - - - -#' Add inverse strand -#' @param gr \code{\link[GenomicRanges]{GRanges-class}} -#' @param verbose TRUE or FALSE (default) -#' @param plot TRUE or FALSE (default) -#' @param ... \code{\link{plot_intervals}} arguments -#' @return \code{\link[GenomicRanges]{GRanges-class}} -#' @examples -#' # PE example -#' #----------- -#' require(magrittr) -#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp -#' HBB = 'chr11:5227002:-', # snp -#' HEXA = 'chr15:72346580-72346583:-', # del -#' CFTR = 'chr7:117559593-117559595:+'), # ins -#' bsgenome) -#' add_inverse_strand(gr, plot = TRUE) -#' # TFBS example -#' #------------- -#' bedfile <- system.file('extdata/SRF.bed', package='multicrispr') -#' gr <- bed_to_granges(bedfile, genome = 'mm10') -#' add_inverse_strand(gr) -#' @export -add_inverse_strand <- function(gr, verbose = FALSE, plot = FALSE, ...){ - - # Assert - assert_is_all_of(gr, 'GRanges') - - # Invert - revcomps <- invertStrand(gr) - if ('seq' %in% names(mcols(gr))){ - revcomps$seq <- as.character(Biostrings::reverseComplement( - DNAStringSet(gr$seq))) - } - - # Concatenate - newgr <- c(gr, revcomps) - newgr %<>% unique() - txt <- sprintf('\t\t%d ranges after adding inverse strands', length(newgr)) - - # Sort - newgr <- sortSeqlevels(newgr) - newgr <- GenomicRanges::sort(newgr, ignore.strand = TRUE) - names(newgr) %<>% paste0('_', - c('+'='f', '-'='r')[as.character(strand(newgr))]) - - # Plot - if (plot){ - gr$set <- 'original' - revcomps$set <- 'inverse' - print(plot_intervals( - c(gr, revcomps), - color_var = 'set', linetype_var = 'set', ..., title = txt)) - gr$set <- NULL - } - - # Message - if (verbose) cmessage(txt) - newgr -} - -#' Double flank -#' -#' @param gr \code{\link[GenomicRanges]{GRanges-class}} -#' @param upstart upstream flank start in relation to start(gr) -#' @param upend upstream flank end in relation to start(gr) -#' @param downstart downstream flank start in relation to end(gr) -#' @param downend downstream flank end in relation to end(gr) -#' @param strandaware TRUE (default) or FALSE -#' @param plot TRUE or FALSE (default) -#' @param linetype_var gr var mapped to linetype -#' @param ... passed to plot_intervals -#' @return \code{\link[GenomicRanges]{GRanges-class}} -#' @examples -#' # Prime Editing example -#' #---------------------- -#' require(magrittr) -#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp -#' HBB = 'chr11:5227002:-', # snp -#' HEXA = 'chr15:72346580-72346583:-', # del -#' CFTR = 'chr7:117559593-117559595:+'), # ins -#' bsgenome) -#' double_flank(gr, -10, -1, +1, +20, plot = TRUE) -#' -#' # TFBS example -#' #------------- -#' bedfile <- system.file('extdata/SRF.bed', package='multicrispr') -#' gr <- bed_to_granges(bedfile, genome = 'mm10', plot = FALSE) -#' double_flank(gr, plot = TRUE) -#' @export -double_flank <- function( - gr, - upstart = -200, - upend = -1, - downstart = 1, - downend = 200, - strandaware = TRUE, - plot = FALSE, - linetype_var = 'set', - ... -){ - - # Up flank, down flank, concatenate - up <- up_flank(gr, upstart, upend, strandaware, verbose = FALSE) - dn <- down_flank(gr, downstart, downend, strandaware, verbose = FALSE) - names(up) %<>% paste0('_u') # ensure unique names - names(dn) %<>% paste0('_d') - newgr <- c(up, dn) - txt <- sprintf('\t\t%d flank ranges: %d up + %d down', - length(newgr), length(up), length(dn)) - - # Plot - if (plot){ - gr$set <- 'original' - up$set <- 'upstream flank' - dn$set <- 'downstream flank' - allgr <- c(gr, up, dn) - allgr$set %<>% factor( - c('original', 'upstream flank', 'downstream flank')) - print(plot_intervals(allgr, linetype_var = linetype_var, title = txt, - y = 'targetname', ...)) - } - - # Return - message(txt) - newgr -} - - +#' Add sequence to GRanges +#' @param gr \code{\link[GenomicRanges]{GRanges-class}} +#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} +#' @param verbose TRUE or FALSE (default) +#' @param as.character TRUE (default) or FALSE +#' @return \code{\link[GenomicRanges]{GRanges-class}} +#' @examples +#' # PE example +#' #----------- +#' require(magrittr) +#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp +#' HBB = 'chr11:5227002:-', # snp +#' HEXA = 'chr15:72346580-72346583:-', # del +#' CFTR = 'chr7:117559593-117559595:+'), # ins +#' bsgenome) +#' (gr %<>% add_seq(bsgenome)) +#' +#' # TFBS example +#' #------------- +#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 +#' bedfile <- system.file('extdata/SRF.bed', package='multicrispr') +#' gr <- bed_to_granges(bedfile, 'mm10') +#' (gr %<>% add_seq(bsgenome)) +#' @export +add_seq <- function(gr, bsgenome, verbose = FALSE, as.character = TRUE){ + + # Assert + assert_is_all_of(gr, 'GRanges') + assert_is_all_of(bsgenome, 'BSgenome') + + # Message + if (verbose) cmessage('\tAdd seq') + + # Align seqlevelsStyle if required + if (seqlevelsStyle(bsgenome)[1] != seqlevelsStyle(gr)[1]){ + cmessage("\t\t\tSet seqlevelStyle(bsgenome) <- seqlevelStyle(gr)") + seqlevelsStyle(bsgenome)[1] <- seqlevelsStyle(gr)[1] + } + + # Add seq + gr$seq <- unname(BSgenome::getSeq( + bsgenome, + names = seqnames(gr), + start = start(gr), + end = end(gr), + strand = strand(gr), + as.character = as.character)) + + # Return + gr +} + + +summarize_loci <- function(gr){ + sprintf('%s:%s-%s', + as.character(seqnames(gr)), + start(gr), + end(gr)) +} + +#' Extend or Flank GRanges +#' +#' Returns extensions, upstream flanks, or downstream flanks +#' +#' \code{up_flank} returns upstream flanks, in relation to start(gr). +#' \code{down_flank} returns downstream flanks, in relation to end(gr). +#' \code{extend} returns extensions, in relation to start(gr) and end(gr) +#' @param gr \code{\link[GenomicRanges]{GRanges-class}} +#' @param start (pos or neg) number: relative start position (see details) +#' @param end (pos or neg) number: relative end position (see details) +#' @param strandaware TRUE (default) or FALSE: consider strand information? +#' @param bsgenome NULL (default) or \code{\link[BSgenome]{BSgenome-class}}. +#' Required to update gr$seq if present. +#' @param verbose TRUE or FALSE (default) +#' @param plot TRUE or FALSE (default) +#' @param linetype_var string: gr var mapped to linetype +#' @param ... passed to \code{\link{plot_intervals}} +#' @return a \code{\link[GenomicRanges]{GRanges-class}} +#' @examples +#' # PE example +#' #----------- +#' require(magrittr) +#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp +#' HBB = 'chr11:5227002:-', # snp +#' HEXA = 'chr15:72346580-72346583:-', # del +#' CFTR = 'chr7:117559593-117559595:+'),# ins +#' bsgenome = bsgenome) +#' gr %>% up_flank( -22, -1, plot=TRUE, facet_var=c('targetname', 'seqnames')) +#' gr %>% up_flank( -22, -1, plot=TRUE, strandaware=FALSE) +#' gr %>% down_flank(+1, +22, plot=TRUE) +#' gr %>% down_flank(+1, +22, plot=TRUE, strandaware=FALSE) +#' gr %>% extend( -10, +20, plot=TRUE) +#' gr %>% extend( -10, +20, plot=TRUE, strandaware=FALSE) +#' +#' # TFBS example +#' #------------- +#' bedfile <- system.file('extdata/SRF.bed', package='multicrispr') +#' gr <- bed_to_granges(bedfile, genome = 'mm10') +#' gr %>% extend(plot = TRUE) +#' gr %>% up_flank(plot = TRUE) +#' gr %>% down_flank(plot = TRUE) +#' @export +up_flank <- function( + gr, start = -200, end = -1, strandaware = TRUE, bsgenome = NULL, + verbose = FALSE, plot = FALSE, linetype_var = 'set', ... +){ + # Assert + assert_is_all_of(gr, 'GRanges') + assert_is_a_number(start) + assert_is_a_number(end) + assert_is_a_bool(verbose) + + # Record + newgr <- gr + shift <- sprintf('(%s%d,%s%d)', + csign(start), abs(start), csign(end), abs(end)) + txt <- sprintf('\t\t%d%supstream %s flanks', + length(newgr), + ifelse(!strandaware, ' (strandagnostic) ', ' '), + shift) + + # Flank + GenomicRanges::start(newgr) <- GenomicRanges::start(gr) + start + GenomicRanges::end(newgr) <- GenomicRanges::start(gr) + end + if (strandaware){ + idx <- as.logical(strand(newgr)=='-') + # do not switch following lines to avoid integrity errors ! + GenomicRanges::end( newgr)[idx] <- GenomicRanges::end(gr)[idx] - start + GenomicRanges::start(newgr)[idx] <- GenomicRanges::end(gr)[idx] - end + } + + # Add seq + if ('seq' %in% names(mcols(gr))){ + assert_is_all_of(bsgenome, 'BSgenome') + newgr %<>% add_seq(bsgenome) + } + + # Plot, Message, Return + if (plot){ + gr$set <- 'original' + newgr$set <- 'upstream flanks' + allgr <- c(gr, newgr) + allgr$set %<>% factor(c('original', 'upstream flanks')) + print(plot_intervals( + allgr, linetype_var = linetype_var, ..., title = txt)) + newgr$set <- NULL + } + if (verbose) message(txt) + newgr +} + + +#' @rdname up_flank +#' @export +down_flank <- function( + gr, start = 1, end = 200, strandaware = TRUE, bsgenome = NULL, + verbose = FALSE, plot = FALSE, linetype_var = 'set', ... +){ + # Assert + assert_is_any_of(gr, 'GRanges') + assert_is_a_number(start) + assert_is_a_number(end) + assert_is_a_bool(verbose) + + # Record + newgr <- gr + shift <- sprintf('(%s%d,%s%d)', + csign(start), abs(start), csign(end), abs(end)) + txt <- sprintf('\t\t%d%sdownstream %s flanks', + length(newgr), + ifelse(!strandaware, ' (strandagnostic) ', ' '), + shift) + + # Flank + GenomicRanges::end(newgr) <- GenomicRanges::end(gr) + end + GenomicRanges::start(newgr) <- GenomicRanges::end(gr) + start + if (strandaware){ + idx <- as.logical(strand(newgr)=='-') + GenomicRanges::start(newgr)[idx] <- GenomicRanges::start(gr)[idx]-end + GenomicRanges::end( newgr)[idx] <- GenomicRanges::start(gr)[idx]-start + } + + # Add seq + if ('seq' %in% names(mcols(gr))){ + assert_is_all_of(bsgenome, 'BSgenome') + newgr %<>% add_seq(bsgenome) + } + + # Plot, Message, Return + if (plot){ + gr$set <- 'original' + newgr$set <- 'downstream flanks' + allgr <- c(gr, newgr) + allgr$set %<>% factor(c('original', 'downstream flanks')) + print(plot_intervals( + allgr, linetype_var = linetype_var, ..., title=txt)) + newgr$set <- NULL + } + if (verbose) message(txt) + newgr +} + + +#' @rdname up_flank +#' @export +extend <- function( + gr, start = -22, end = 22, strandaware = TRUE, bsgenome = NULL, + verbose = FALSE, plot = FALSE, linetype_var = 'set', ... +){ + + # Assert + assert_is_any_of(gr, 'GRanges') + assert_is_a_number(start) + assert_is_a_number(end) + assert_is_a_bool(verbose) + + # Record + newgr <- gr + shift <- sprintf('(%s%d,%s%d)', + csign(start), abs(start), csign(end), abs(end)) + txt <- sprintf('\t\t%d%sextensions %s', + length(newgr), + ifelse(!strandaware, ' (strandagnostic) ', ' '), + shift) + + # Extend + GenomicRanges::start(newgr) <- GenomicRanges::start(newgr) + start + GenomicRanges::end( newgr) <- GenomicRanges::end( newgr) + end + if (strandaware){ + idx <- as.logical(strand(newgr)=='-') + GenomicRanges::start(newgr)[idx] <- GenomicRanges::start(gr)[idx] - end + GenomicRanges::end( newgr)[idx] <- GenomicRanges::end(gr)[idx] - start + } + + # Add seq + if ('seq' %in% names(mcols(gr))){ + assert_is_all_of(bsgenome, 'BSgenome') + newgr %<>% add_seq(bsgenome) + } + + # Plot, Message, Return + if (plot){ + gr$set <- 'original' + newgr$set <- 'extensions' + allgr <- c(gr, newgr) + allgr$set %<>% factor(c('original', 'extensions')) + print(plot_intervals( + allgr, linetype_var = linetype_var, ..., title=txt)) + newgr$set <- NULL + } + if (verbose) message(txt) + newgr + +} + + + + +#' Add inverse strand +#' @param gr \code{\link[GenomicRanges]{GRanges-class}} +#' @param verbose TRUE or FALSE (default) +#' @param plot TRUE or FALSE (default) +#' @param ... \code{\link{plot_intervals}} arguments +#' @return \code{\link[GenomicRanges]{GRanges-class}} +#' @examples +#' # PE example +#' #----------- +#' require(magrittr) +#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp +#' HBB = 'chr11:5227002:-', # snp +#' HEXA = 'chr15:72346580-72346583:-', # del +#' CFTR = 'chr7:117559593-117559595:+'), # ins +#' bsgenome) +#' add_inverse_strand(gr, plot = TRUE) +#' # TFBS example +#' #------------- +#' bedfile <- system.file('extdata/SRF.bed', package='multicrispr') +#' gr <- bed_to_granges(bedfile, genome = 'mm10') +#' add_inverse_strand(gr) +#' @export +add_inverse_strand <- function(gr, verbose = FALSE, plot = FALSE, ...){ + + # Assert + assert_is_all_of(gr, 'GRanges') + + # Invert + revcomps <- invertStrand(gr) + if ('seq' %in% names(mcols(gr))){ + revcomps$seq <- as.character(Biostrings::reverseComplement( + DNAStringSet(gr$seq))) + } + + # Concatenate + newgr <- c(gr, revcomps) + newgr %<>% unique() + txt <- sprintf('\t\t%d ranges after adding inverse strands', length(newgr)) + + # Sort + newgr <- sortSeqlevels(newgr) + newgr <- GenomicRanges::sort(newgr, ignore.strand = TRUE) + names(newgr) %<>% paste0('_', + c('+'='f', '-'='r')[as.character(strand(newgr))]) + + # Plot + if (plot){ + gr$set <- 'original' + revcomps$set <- 'inverse' + print(plot_intervals( + c(gr, revcomps), + color_var = 'set', linetype_var = 'set', ..., title = txt)) + gr$set <- NULL + } + + # Message + if (verbose) cmessage(txt) + newgr +} + +#' Double flank +#' +#' @param gr \code{\link[GenomicRanges]{GRanges-class}} +#' @param upstart upstream flank start in relation to start(gr) +#' @param upend upstream flank end in relation to start(gr) +#' @param downstart downstream flank start in relation to end(gr) +#' @param downend downstream flank end in relation to end(gr) +#' @param strandaware TRUE (default) or FALSE +#' @param plot TRUE or FALSE (default) +#' @param linetype_var gr var mapped to linetype +#' @param ... passed to plot_intervals +#' @return \code{\link[GenomicRanges]{GRanges-class}} +#' @examples +#' # Prime Editing example +#' #---------------------- +#' require(magrittr) +#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp +#' HBB = 'chr11:5227002:-', # snp +#' HEXA = 'chr15:72346580-72346583:-', # del +#' CFTR = 'chr7:117559593-117559595:+'), # ins +#' bsgenome) +#' double_flank(gr, -10, -1, +1, +20, plot = TRUE) +#' +#' # TFBS example +#' #------------- +#' bedfile <- system.file('extdata/SRF.bed', package='multicrispr') +#' gr <- bed_to_granges(bedfile, genome = 'mm10', plot = FALSE) +#' double_flank(gr, plot = TRUE) +#' @export +double_flank <- function( + gr, + upstart = -200, + upend = -1, + downstart = 1, + downend = 200, + strandaware = TRUE, + plot = FALSE, + linetype_var = 'set', + ... +){ + + # Up flank, down flank, concatenate + up <- up_flank(gr, upstart, upend, strandaware, verbose = FALSE) + dn <- down_flank(gr, downstart, downend, strandaware, verbose = FALSE) + names(up) %<>% paste0('_u') # ensure unique names + names(dn) %<>% paste0('_d') + newgr <- c(up, dn) + txt <- sprintf('\t\t%d flank ranges: %d up + %d down', + length(newgr), length(up), length(dn)) + + # Plot + if (plot){ + gr$set <- 'original' + up$set <- 'upstream flank' + dn$set <- 'downstream flank' + allgr <- c(gr, up, dn) + allgr$set %<>% factor( + c('original', 'upstream flank', 'downstream flank')) + print(plot_intervals(allgr, linetype_var = linetype_var, title = txt, + y = 'targetname', ...)) + } + + # Return + message(txt) + newgr +} + + diff --git a/R/06_find_pe_spacers.R b/R/06_find_pe_spacers.R index 41f789e115120391eb7f0eb480470ab4caacd849..6f8b6b9113ec3b7a096ae477b3b395573fed87a0 100644 --- a/R/06_find_pe_spacers.R +++ b/R/06_find_pe_spacers.R @@ -1,247 +1,247 @@ - -cextract1 <- function(y) y[, 1] %>% paste0(collapse=';') -cextract2 <- function(y) y[, 2] %>% paste0(collapse=';') -vextract1 <- function(z) vapply(z, cextract1, character(1)) -vextract2 <- function(z) vapply(z, cextract2, character(1)) - -copy <- function( - gr, - start = GenomicRanges::start(gr), - end = GenomicRanges::end(gr), - strand = GenomicRanges::strand(gr), - ... -){ - newgr <- gr - GenomicRanges::start(gr) <- start - GenomicRanges::end(gr) <- end - strand(gr) <- strand - - dots_list <- list(...) - for (mvar in names(dots_list)) mcols(gr)[[mvar]] <- dots_list[[mvar]] - gr -} - -#' Extend prime editing target to find GG sites -#' -#' Extend prime editing target to find GG sites in accessible neighbourhood -#' -#' Extends each target range to the area in which to search for a prime editing -#' GG duplet, as shown in the sketch below. -#' -#' ===============> -#' ----GG---------> -#' ----GG---------> -#' ** -#' <---------GG--- -#' <---------GG---- -#' <=============== -#' -#' @param gr target \code{\link[GenomicRanges]{GRanges-class}} -#' @param nrt n RT nucleotides (default 16, recommended 10-16) -#' @param plot TRUE or FALSE (default) -#' @return \code{\link[GenomicRanges]{GRanges-class}} -#' @examples -#' # PE example -#' #----------- -#' require(magrittr) -#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp -#' HBB = 'chr11:5227002:-', # snp -#' HEXA = 'chr15:72346580-72346583:-', # del -#' CFTR = 'chr7:117559593-117559595:+'), # ins -#' bsgenome) -#' extend_pe_to_gg(gr, plot = TRUE) -#' @export -extend_pe_to_gg <- function(gr, nrt=16, plot = FALSE){ - - # Extend - fw <- copy(gr, strand='+', start = end(gr) - nrt + 5, end = start(gr) + 5) - rv <- copy(gr, strand='-', start = end(gr) - 5, end = start(gr) + nrt - 5) - #fw$tstart <- rv$tstart <- start(gr) - #fw$tend <- rv$tend <- end(gr) - #fw$tstrand <- rv$tstrand <- strand(gr) - ext <- sort(c(fw, rv)) - - # Plot - if (plot){ - gr$set <- 'targets' - fw$set <- 'possible GG of fwd strand' - rv$set <- 'possible GG on rev strand' - plot_intervals(c(gr, fw, rv), color_var = 'set', y = 'set') - } - - # Return - ext -} - - -#' Find GG -#' @param gr \code{\link[GenomicRanges]{GRanges-class}} -#' @return \code{\link[GenomicRanges]{GRanges-class}} -#' @examples -#' # PE example -#' #----------- -#' require(magrittr) -#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp -#' HBB = 'chr11:5227002:-', # snp -#' HEXA = 'chr15:72346580-72346583:-', # del -#' CFTR = 'chr7:117559593-117559595:+'), # ins -#' bsgenome) -#' gr %<>% extend_pe_to_gg(plot = TRUE) %>% add_seq(bsgenome) -#' find_gg(gr) -#' @export -find_gg <- function(gr){ - - substart <- subend <- windowstart <- windowend <- NULL - - res <- stri_locate_all_fixed(gr$seq, 'GG', overlap=TRUE) - gr$substart <- vextract1(res) - gr$subend <- vextract2(res) - - # Rm GG-free gr - idx <- gr$substart == 'NA' - if (sum(idx)>0) gr %<>% extract(!idx) - - # Identify GG sites - gg_dt <- as.data.table(gr) %>% - setnames(c('start', 'end'), c('windowstart', 'windowend')) %>% - separate_rows(substart, subend) %>% - data.table() %>% - extract(, substart := as.numeric(substart)) %>% - extract(, subend := as.numeric(subend)) %>% - # extract(, seq := substr(seq, substart, subend)) %>% - extract(strand=='+', start := windowstart + substart - 1) %>% - extract(strand=='+', end := windowstart + subend - 1) %>% - extract(strand=='-', end := windowend - substart + 1) %>% - extract(strand=='-', start := windowend - subend + 1) %>% - extract() - gg_dt %<>% setorderv(c('seqnames', 'start', 'strand')) - gg_dt[, c('windowstart', 'windowend', 'seq', 'substart', 'subend') := NULL] - gg_ranges <- GRanges(gg_dt, seqinfo = seqinfo(gr)) - #gg_ranges %<>% add_seq(bsgenome, verbose = FALSE) - return(gg_ranges) -} - - -#' Find prime editing spacers -#' -#' Find prime editing spacers around target ranges -#' -#' Below the architecture of a prime editing site. -#' Edits can be performed anywhere in the revtranscript area. -#' -#' spacer pam -#' --------------------=== -#' primer revtranscript -#' -------------================ -#' 1..............17....GG.......... -#' .....................CC.......... -#' ----------extension---------- -#' -#' @param gr \code{\link[GenomicRanges]{GRanges-class}} -#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} -#' @param edits character vector: desired edits on '+' strand. -#' If named, names should be identical to those of \code{gr} -#' @param nprimer n primer nucleotides (default 13, max 17) -#' @param nrt n rev transcr nucleotides (default 16, recomm. 10-16) -#' @param plot TRUE (default) or FALSE -#' @return \code{\link[GenomicRanges]{GRanges-class}} with PE spacer ranges -#' Each prime editing range is defined in terms of its N20NGG spacer. -#' Additionally, three sequence mcols are returned: -#' * spacer: N20 spacers -#' * pam: NGG PAMs -#' * 3pext: 3' extension of gRNA (RTtemplate + primerbindingsite) -#' @examples -#' # Find PE spacers for 4 clinically relevant loci (Anzalone et al, 2019) -#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -#' gr <- char_to_granges(c( -#' PRNP = 'chr20:4699600:+', # snp: prion disease -#' HBB = 'chr11:5227002:-', # snp: sickle cell anemia -#' HEXA = 'chr15:72346580-72346583:-', # del: tay sachs disease -#' CFTR = 'chr7:117559593-117559595:+'), # ins: cystic fibrosis -#' bsgenome) -#' find_pe_spacers(gr, bsgenome) -#' find_spacers(extend_for_pe(gr), bsgenome, complement = FALSE) -#' -#' # Edit PRNP locus for resistance against prion disease (Anzalone et al, 2019) -#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -#' gr <- char_to_granges('chr20:4699600:+', bsgenome) -#' find_pe_spacers(gr, bsgenome) -#' find_pe_spacers(gr, bsgenome, edits = 'T') -#' @seealso \code{\link{find_spacers}} to find standard crispr sites -#' @export -find_pe_spacers <- function(gr, bsgenome, edits = get_plus_seq(bsgenome, gr), - nprimer = 13, nrt = 16, plot = TRUE){ - - # Assert - assert_is_all_of(gr, 'GRanges') - assert_is_all_of(bsgenome, 'BSgenome') - assert_is_character(edits) - assert_all_are_matching_regex(edits, '^[ACGTacgt]+$') - assert_are_same_length(gr, edits) - if (has_names(edits)) assert_are_identical(names(gr), names(edits)) - assert_is_a_number(nprimer) - assert_is_a_number(nrt) - assert_all_are_less_than(nprimer, 17) - - # Find GG in nrt window around target site - gr %<>% name_uniquely(); names(edits) <- names(gr) - gg <- gr %>% extend_pe_to_gg(nrt) %>% add_seq(bsgenome) %>% find_gg() - names(gg) <- gg$crisprname <- uniquify(gg$targetname) - - # Extract from these other components - bs <- bsgenome; invstr <- invertStrand - spacer <- up_flank(gg, -21, -2) %>% add_seq(bs) - pam <- up_flank(gg, -1, +1) %>% add_seq(bs) - primer <- up_flank(gg, -4-nprimer, -5) %>% add_seq(bs) - revtranscript<- up_flank(gg, -4, -5+nrt) %>% add_fixed_seqs(bs, edits) - ext <- up_flank(gg, -4-nprimer, -5+nrt) %>% invertStrand() %>% - add_fixed_seqs(bs, edits) # Revcomp for "-" seqs - # Plot - if (plot){ - spacer$part<-'spacer' - ext$part <- "3' extension" - allranges <- c(spacer, ext) - allranges$part %<>% factor((c("spacer", "3' extension"))) - print(plot_intervals(allranges, y = 'crisprname', linetype_var = 'part', - facet_var = c('seqnames', 'targetname'))) - spacer$part <- NULL - } - - # Add sequences and return - names(mcols(spacer)) %<>% stri_replace_first_fixed('seq', 'crisprspacer') - spacer$crisprpam <- pam$seq - spacer$primer <- primer$seq - spacer$revtranscript <- revtranscript$seq - spacer$extension <- ext$seq - spacer -} - -add_fixed_seqs <- function(gr, bsgenome, edits){ - # Get '+' seq - gr$seq <- get_plus_seq(bsgenome, gr) - substr(gr$seq, gr$targetstart - start(gr)+1, - gr$targetend - start(gr)+1) <- edits[gr$targetname] - gr$seq[as.logical(strand(gr)=='-')] %<>% revcomp() - gr -} - -get_plus_seq <- function(bsgenome, gr){ - seqs1 <- BSgenome::getSeq(bsgenome, - seqnames(gr), - start(gr), - end(gr), - strand = '+', - as.character = TRUE) - if (has_names(gr)) names(seqs1) <- names(gr) - seqs1 - -} - - -revcomp <- function(y) y %>% - Biostrings::DNAStringSet() %>% - Biostrings::reverseComplement() %>% - as.character() - + +cextract1 <- function(y) y[, 1] %>% paste0(collapse=';') +cextract2 <- function(y) y[, 2] %>% paste0(collapse=';') +vextract1 <- function(z) vapply(z, cextract1, character(1)) +vextract2 <- function(z) vapply(z, cextract2, character(1)) + +copy <- function( + gr, + start = GenomicRanges::start(gr), + end = GenomicRanges::end(gr), + strand = GenomicRanges::strand(gr), + ... +){ + newgr <- gr + GenomicRanges::start(gr) <- start + GenomicRanges::end(gr) <- end + strand(gr) <- strand + + dots_list <- list(...) + for (mvar in names(dots_list)) mcols(gr)[[mvar]] <- dots_list[[mvar]] + gr +} + +#' Extend prime editing target to find GG sites +#' +#' Extend prime editing target to find GG sites in accessible neighbourhood +#' +#' Extends each target range to the area in which to search for a prime editing +#' GG duplet, as shown in the sketch below. +#' +#' ===============> +#' ----GG---------> +#' ----GG---------> +#' ** +#' <---------GG--- +#' <---------GG---- +#' <=============== +#' +#' @param gr target \code{\link[GenomicRanges]{GRanges-class}} +#' @param nrt n RT nucleotides (default 16, recommended 10-16) +#' @param plot TRUE or FALSE (default) +#' @return \code{\link[GenomicRanges]{GRanges-class}} +#' @examples +#' # PE example +#' #----------- +#' require(magrittr) +#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp +#' HBB = 'chr11:5227002:-', # snp +#' HEXA = 'chr15:72346580-72346583:-', # del +#' CFTR = 'chr7:117559593-117559595:+'), # ins +#' bsgenome) +#' extend_pe_to_gg(gr, plot = TRUE) +#' @export +extend_pe_to_gg <- function(gr, nrt=16, plot = FALSE){ + + # Extend + fw <- copy(gr, strand='+', start = end(gr) - nrt + 5, end = start(gr) + 5) + rv <- copy(gr, strand='-', start = end(gr) - 5, end = start(gr) + nrt - 5) + #fw$tstart <- rv$tstart <- start(gr) + #fw$tend <- rv$tend <- end(gr) + #fw$tstrand <- rv$tstrand <- strand(gr) + ext <- sort(c(fw, rv)) + + # Plot + if (plot){ + gr$set <- 'targets' + fw$set <- 'possible GG of fwd strand' + rv$set <- 'possible GG on rev strand' + plot_intervals(c(gr, fw, rv), color_var = 'set', y = 'set') + } + + # Return + ext +} + + +#' Find GG +#' @param gr \code{\link[GenomicRanges]{GRanges-class}} +#' @return \code{\link[GenomicRanges]{GRanges-class}} +#' @examples +#' # PE example +#' #----------- +#' require(magrittr) +#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp +#' HBB = 'chr11:5227002:-', # snp +#' HEXA = 'chr15:72346580-72346583:-', # del +#' CFTR = 'chr7:117559593-117559595:+'), # ins +#' bsgenome) +#' gr %<>% extend_pe_to_gg(plot = TRUE) %>% add_seq(bsgenome) +#' find_gg(gr) +#' @export +find_gg <- function(gr){ + + substart <- subend <- windowstart <- windowend <- NULL + + res <- stri_locate_all_fixed(gr$seq, 'GG', overlap=TRUE) + gr$substart <- vextract1(res) + gr$subend <- vextract2(res) + + # Rm GG-free gr + idx <- gr$substart == 'NA' + if (sum(idx)>0) gr %<>% extract(!idx) + + # Identify GG sites + gg_dt <- as.data.table(gr) %>% + setnames(c('start', 'end'), c('windowstart', 'windowend')) %>% + separate_rows(substart, subend) %>% + data.table() %>% + extract(, substart := as.numeric(substart)) %>% + extract(, subend := as.numeric(subend)) %>% + # extract(, seq := substr(seq, substart, subend)) %>% + extract(strand=='+', start := windowstart + substart - 1) %>% + extract(strand=='+', end := windowstart + subend - 1) %>% + extract(strand=='-', end := windowend - substart + 1) %>% + extract(strand=='-', start := windowend - subend + 1) %>% + extract() + gg_dt %<>% setorderv(c('seqnames', 'start', 'strand')) + gg_dt[, c('windowstart', 'windowend', 'seq', 'substart', 'subend') := NULL] + gg_ranges <- GRanges(gg_dt, seqinfo = seqinfo(gr)) + #gg_ranges %<>% add_seq(bsgenome, verbose = FALSE) + return(gg_ranges) +} + + +#' Find prime editing spacers +#' +#' Find prime editing spacers around target ranges +#' +#' Below the architecture of a prime editing site. +#' Edits can be performed anywhere in the revtranscript area. +#' +#' spacer pam +#' --------------------=== +#' primer revtranscript +#' -------------================ +#' 1..............17....GG.......... +#' .....................CC.......... +#' ----------extension---------- +#' +#' @param gr \code{\link[GenomicRanges]{GRanges-class}} +#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} +#' @param edits character vector: desired edits on '+' strand. +#' If named, names should be identical to those of \code{gr} +#' @param nprimer n primer nucleotides (default 13, max 17) +#' @param nrt n rev transcr nucleotides (default 16, recomm. 10-16) +#' @param plot TRUE (default) or FALSE +#' @return \code{\link[GenomicRanges]{GRanges-class}} with PE spacer ranges +#' Each prime editing range is defined in terms of its N20NGG spacer. +#' Additionally, three sequence mcols are returned: +#' * spacer: N20 spacers +#' * pam: NGG PAMs +#' * 3pext: 3' extension of gRNA (RTtemplate + primerbindingsite) +#' @examples +#' # Find PE spacers for 4 clinically relevant loci (Anzalone et al, 2019) +#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +#' gr <- char_to_granges(c( +#' PRNP = 'chr20:4699600:+', # snp: prion disease +#' HBB = 'chr11:5227002:-', # snp: sickle cell anemia +#' HEXA = 'chr15:72346580-72346583:-', # del: tay sachs disease +#' CFTR = 'chr7:117559593-117559595:+'), # ins: cystic fibrosis +#' bsgenome) +#' find_pe_spacers(gr, bsgenome) +#' find_spacers(extend_for_pe(gr), bsgenome, complement = FALSE) +#' +#' # Edit PRNP locus for resistance against prion disease (Anzalone et al, 2019) +#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +#' gr <- char_to_granges('chr20:4699600:+', bsgenome) +#' find_pe_spacers(gr, bsgenome) +#' find_pe_spacers(gr, bsgenome, edits = 'T') +#' @seealso \code{\link{find_spacers}} to find standard crispr sites +#' @export +find_pe_spacers <- function(gr, bsgenome, edits = get_plus_seq(bsgenome, gr), + nprimer = 13, nrt = 16, plot = TRUE){ + + # Assert + assert_is_all_of(gr, 'GRanges') + assert_is_all_of(bsgenome, 'BSgenome') + assert_is_character(edits) + assert_all_are_matching_regex(edits, '^[ACGTacgt]+$') + assert_are_same_length(gr, edits) + if (has_names(edits)) assert_are_identical(names(gr), names(edits)) + assert_is_a_number(nprimer) + assert_is_a_number(nrt) + assert_all_are_less_than(nprimer, 17) + + # Find GG in nrt window around target site + gr %<>% name_uniquely(); names(edits) <- names(gr) + gg <- gr %>% extend_pe_to_gg(nrt) %>% add_seq(bsgenome) %>% find_gg() + names(gg) <- gg$crisprname <- uniquify(gg$targetname) + + # Extract from these other components + bs <- bsgenome; invstr <- invertStrand + spacer <- up_flank(gg, -21, -2) %>% add_seq(bs) + pam <- up_flank(gg, -1, +1) %>% add_seq(bs) + primer <- up_flank(gg, -4-nprimer, -5) %>% add_seq(bs) + revtranscript<- up_flank(gg, -4, -5+nrt) %>% add_fixed_seqs(bs, edits) + ext <- up_flank(gg, -4-nprimer, -5+nrt) %>% invertStrand() %>% + add_fixed_seqs(bs, edits) # Revcomp for "-" seqs + # Plot + if (plot){ + spacer$part<-'spacer' + ext$part <- "3' extension" + allranges <- c(spacer, ext) + allranges$part %<>% factor((c("spacer", "3' extension"))) + print(plot_intervals(allranges, y = 'crisprname', linetype_var = 'part', + facet_var = c('seqnames', 'targetname'))) + spacer$part <- NULL + } + + # Add sequences and return + names(mcols(spacer)) %<>% stri_replace_first_fixed('seq', 'crisprspacer') + spacer$crisprpam <- pam$seq + spacer$primer <- primer$seq + spacer$revtranscript <- revtranscript$seq + spacer$extension <- ext$seq + spacer +} + +add_fixed_seqs <- function(gr, bsgenome, edits){ + # Get '+' seq + gr$seq <- get_plus_seq(bsgenome, gr) + substr(gr$seq, gr$targetstart - start(gr)+1, + gr$targetend - start(gr)+1) <- edits[gr$targetname] + gr$seq[as.logical(strand(gr)=='-')] %<>% revcomp() + gr +} + +get_plus_seq <- function(bsgenome, gr){ + seqs1 <- BSgenome::getSeq(bsgenome, + seqnames(gr), + start(gr), + end(gr), + strand = '+', + as.character = TRUE) + if (has_names(gr)) names(seqs1) <- names(gr) + seqs1 + +} + + +revcomp <- function(y) y %>% + Biostrings::DNAStringSet() %>% + Biostrings::reverseComplement() %>% + as.character() + diff --git a/R/06_find_spacers.R b/R/06_find_spacers.R index 27fd6d98e11689644af2d70ff72660549913b68b..55d315f1edc67188357e7c7a70a5a1ddf40d6562 100644 --- a/R/06_find_spacers.R +++ b/R/06_find_spacers.R @@ -1,284 +1,284 @@ -# Convert PAM into regex format -# @examples -# x <- 'NGG' -# pam_to_regex <- function(x){ -# assert_is_a_string(x) -# x %>% stringi::stri_replace_all_fixed('N', '[ACGT]') -# } - - -# This regex-based function fails to find all crispr spacers -# It is, therefore, no longer used, just kept for reference purposes. -# Example explanation of why it fails -# x <- Biostrings::DNAString('AGCAGCTGGGGCAGTGGTGGGGGGCCTTGGCGGCTACA') -# stringi::stri_locate_all_regex(as.character(x), '[ACGT]{21}GG') -# Biostrings::matchPattern('NNNNNNNNNNNNNNNNNNNNNGG', x, fixed = FALSE) -# regex_based_find_crispr_spacers <- function( -# gr, bsgenome, pam = 'NGG', plot = TRUE, verbose = TRUE){ -# -# # Assert. Import. Comply -# assert_is_all_of(gr, 'GRanges') -# assert_is_all_of(bsgenome, 'BSgenome') -# assert_is_a_bool(verbose) -# start <- substart <- crispr_start <- NULL -# end <- subend <- crispr_end <- strand <- seqnames <- NULL -# gr %<>% add_seq(bsgenome) -# gr %<>% name_uniquely() -# -# # Find crispr sites in targetranges -# pattern <- paste0('[ACGT]{20}', pam_to_regex(pam)) -# if (verbose) cmessage('\tFind %s crispr sites', pattern) -# targetdt <- as.data.table(gr) -# res <- targetdt$seq %>% stri_locate_all_regex(pattern) -# cextract1 <- function(y) y[, 1] %>% paste0(collapse=';') -# cextract2 <- function(y) y[, 2] %>% paste0(collapse=';') -# targetdt [ , substart := vapply( res, cextract1, character(1)) ] -# targetdt [ , subend := vapply( res, cextract2, character(1)) ] -# -# # Rm crispr-free targetranges -# idx <- targetdt[, substart == 'NA'] -# if (sum(idx)>0){ -# if (verbose) cmessage('\t\tRm %d ranges with no crispr site', -# sum(idx)) -# targetdt %<>% extract(!idx) -# } -# -# # Transform into crispr ranges -# targetdt[, targetstart := start] -# targetdt[, targetend := end ] -# -# sites_dt <- tidyr::separate_rows(targetdt, substart, subend) %>% -# data.table() %>% -# extract(, substart := as.numeric(substart)) %>% -# extract(, subend := as.numeric(subend)) %>% -# extract(, seq := substr(seq, substart, subend)) %>% -# extract( strand=='+', crispr_start := start + substart - 1) %>% -# extract( strand=='+', crispr_end := start + subend - 1) %>% -# extract( strand=='-', crispr_start := end - subend + 1) %>% -# extract( strand=='-', crispr_end := end - substart + 1) %>% -# extract(, -# list(seqnames = seqnames, start = crispr_start, -# end = crispr_end, strand = strand, seq = seq, -# targetname = targetname, targetstart = targetstart, -# targetend = targetend)) -# sites <- GRanges(unique(sites_dt), seqinfo = seqinfo(gr)) -# sites$site <- uniquify(sites$targetname) -# spacer <- sites %>% extend( 0, -3, stranded=TRUE, bsgenome=bsgenome) -# pam <- sites %>% down_flank(-2, 0, stranded=TRUE, bsgenome=bsgenome) -# spacer$spacer <- spacer$seq -# spacer$seq <- NULL -# spacer$pam <- pam$seq -# -# # Plot. Message. Return -# if (plot){ -# original <- copy(sites, start=sites$targetstart, end=sites$targetend) -# original$set <- 'target' -# spacer$set <- 'spacer' -# plot_intervals(c(original, spacer), color_var = 'set', -# size_var = 'set', y = 'site') -# sites$set <- NULL -# } -# if (verbose) cmessage('\t\t%d cas9 spacers across %d ranges', -# length(unique(spacer$spacer)), length(spacer)) -# return(sites) -# } - - - -#' Extract subranges -#' -#' Extract subranges from a \code{\link[GenomicRanges]{GRanges-class}} object -#' @param gr \code{\link[GenomicRanges]{GRanges-class}} -#' @param ir \code{\link[IRanges]{IRanges-class}}: subranges to be extracted -#' @param plot TRUE or FALSE (default) -#' @return \code{\link[GenomicRanges]{GRanges-class}}. -#' @examples -#' gr <- GenomicRanges::GRanges(c(A = 'chr1:1-100:+', B = 'chr1:1-100:-')) -#' gr$targetname <- 'AB' -#' ir <- IRanges::IRanges(c(A = '1-10', A = '11-20', B = '1-10', B = '11-20')) -#' extract_subranges(gr, ir, plot = TRUE) -#' @export -extract_subranges <- function(gr, ir, plot = FALSE){ - - # Comply / Assert - substart <- subwidth <- NULL - assert_is_all_of(gr, 'GRanges') - assert_is_all_of(ir, 'IRanges') - assert_has_names(gr) - assert_has_names(ir) - assert_is_subset(unique(names(ir)), names(gr)) - assert_is_a_bool(plot) - - # Convert and merge - idt <- data.table::as.data.table(ir) - gdt <- data.table::as.data.table(gr) %>% cbind(names = names(gr)) - gdt$width <- NULL - setnames(idt, c( 'start', 'end', 'width'), - c('substart', 'subend', 'subwidth')) - mdt <- merge(gdt, idt, by = 'names') - - # Extract - mdt[strand=='+', start := start-1+substart] - mdt[strand=='+', end := start-1+subwidth] - mdt[strand=='-', end := end+1-substart] - mdt[strand=='-', start := end+1-subwidth] - mdt[, c('substart', 'subend', 'subwidth') := NULL] - mr <- dt2gr(mdt, seqinfo = seqinfo(gr)) - names(mr) %<>% uniquify() - - # Plot - if (plot) print(plot_intervals(mr)) - - # Return - mr -} - -#' Extract matching subranges -#' -#' Extract subranges that match pattern -#' -#' @param gr \code{\link[GenomicRanges]{GRanges-class}} -#' @param bsgenome \code{\link{BSgenome}{BSgenome-class}} -#' @param pattern string: search pattern in extended IUPAC alphabet -#' @param plot TRUE or FALSE (default) -#' @return \code{\link[GenomicRanges]{GRanges-class}} -#' @examples -#' # PE example -#' #------------ -#' require(magrittr) -#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp -#' HBB = 'chr11:5227002:-', # snp -#' HEXA = 'chr15:72346580-72346583:-', # del -#' CFTR = 'chr7:117559593-117559595:+'), # ins -#' bsgenome) -#' gr %<>% extend_for_pe() -#' pattern <- strrep('N',20) %>% paste0('NGG') -#' extract_matchranges(gr, bsgenome, pattern, plot = TRUE) -#' -#' # TFBS examples -#' #-------------- -#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 -#' bedfile <- system.file('extdata/SRF.bed', package='multicrispr') -#' gr <- bed_to_granges(bedfile, 'mm10') %>% extend() -#' extract_matchranges(gr, bsgenome, pattern = strrep('N',20) %>% paste0('NGG')) -#' @export -extract_matchranges <- function(gr, bsgenome, pattern, plot = FALSE){ - - # Assert - assert_is_all_of(gr, 'GRanges') - assert_has_names(gr) - assert_is_all_of(bsgenome, 'BSgenome') - assert_is_a_string(pattern) - - # Extract - matches <- unlist(vmatchPattern(pattern, getSeq(bsgenome, gr), fixed=FALSE)) - extract_subranges(gr, matches, plot = plot) %>% sort(ignore.strand = TRUE) - -} - - -#' Find crispr spacers in targetranges -#' @param gr \code{\link[GenomicRanges]{GRanges-class}} -#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} -#' @param spacer string: spacer pattern in extended IUPAC alphabet -#' @param pam string: pam pattern in extended IUPAC alphabet -#' @param complement TRUE (default) or FALSE: also search in compl ranges? -#' @param plot TRUE (default) or FALSE -#' @param verbose TRUE (default) or FALSE -#' @return \code{\link[GenomicRanges]{GRanges-class}} -#' @examples -#' # PE example -#' #----------- -#' require(magrittr) -#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp -#' HBB = 'chr11:5227002:-', # snp -#' HEXA = 'chr15:72346580-72346583:-', # del -#' CFTR = 'chr7:117559593-117559595:+'), # ins -#' bsgenome) -#' plot_intervals(gr) -#' find_pe_spacers(gr, bsgenome) -#' find_spacers(extend_for_pe(gr), bsgenome, complement = FALSE) -#' # complement = FALSE because extend_for_pe already -#' # adds reverse complements and does so in a strand-specific -#' # manner -#' -#' # TFBS example -#' #------------- -#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 -#' bedfile <- system.file('extdata/SRF.bed', package='multicrispr') -#' gr <- bed_to_granges(bedfile, 'mm10') %>% extend() -#' find_spacers(gr, bsgenome) -#' @seealso \code{\link{find_pe_spacers}} to find prime editing spacers -#' @export -find_spacers <- function( - gr, bsgenome, spacer = strrep('N', 20), pam = 'NGG', complement = TRUE, - verbose = TRUE, plot = TRUE -){ - - if (complement){ - gr %<>% add_inverse_strand(plot = FALSE, verbose = verbose) - } - sites <- extract_matchranges(gr, bsgenome, paste0(spacer, pam)) %>% unique() - spacers <- extend(sites, 0, -3, bsgenome = bsgenome) - pams <- down_flank(sites, -2, 0, bsgenome = bsgenome) - spacers$crisprname <- names(spacers) - spacers$crisprspacer <- getSeq(bsgenome, spacers, as.character=TRUE) - spacers$crisprpam <- getSeq(bsgenome, pams, as.character=TRUE) - spacers %>% sort(ignore.strand = TRUE) - if (plot){ - print(plot_intervals(spacers, y='crisprname')) - spacers$sitename <- NULL - } - spacers -} - -#' Extend ranges for prime editing -#' -#' Extend target ranges to span in which to look for spacer-pam seqs -#' -#' Extend target ranges to find nearby spacers for prime editing -#' @param gr \code{\link[GenomicRanges]{GRanges-class}} -#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} -#' @param nrt number: reverse transcription length -#' @param spacer string: spacer pattern in extended IUPAC alphabet -#' @param pam string: pam pattern in extended IUPAC alphabet -#' @param plot TRUE (default) or FALSE -#' @return \code{\link[GenomicRanges]{GRanges-class}} -#' @examples -#' require(magrittr) -#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -#' gr <- char_to_granges(c( PRNP = 'chr20:4699600:+', # snp -#' HBB = 'chr11:5227002:-', # snp -#' HEXA = 'chr15:72346580-72346583:-', # del -#' CFTR = 'chr7:117559593-117559595:+'), # ins -#' bsgenome = bsgenome) -#' find_pe_spacers(gr, bsgenome) -#' (grext <- extend_for_pe(gr)) -#' find_spacers(grext, bsgenome, complement = FALSE) -#' @export -extend_for_pe <- function( - gr, - bsgenome, - nrt = 16, - spacer = strrep('N', 20), - pam = 'NGG', - plot = FALSE -){ - fw <- copy( gr, start=end(gr)+1-nrt-17, end=start(gr)-1+6, strand='+') - rv <- copy( gr, start=end(gr)+1-6, end=start(gr)-1+nrt+17, strand='-') - names(fw) %<>% paste0('_f') - names(rv) %<>% paste0('_r') - ext <- c(fw, rv) - if (plot){ - #gr$set <- 'PE target' - fw$set <- "potential '+' spacers" - rv$set <- "potential '-' spacers" - print(plot_intervals(c(fw, gr, rv), linetype_var = 'set', - y = 'targetname', color_var = 'targetname')) - } - ext -} - - +# Convert PAM into regex format +# @examples +# x <- 'NGG' +# pam_to_regex <- function(x){ +# assert_is_a_string(x) +# x %>% stringi::stri_replace_all_fixed('N', '[ACGT]') +# } + + +# This regex-based function fails to find all crispr spacers +# It is, therefore, no longer used, just kept for reference purposes. +# Example explanation of why it fails +# x <- Biostrings::DNAString('AGCAGCTGGGGCAGTGGTGGGGGGCCTTGGCGGCTACA') +# stringi::stri_locate_all_regex(as.character(x), '[ACGT]{21}GG') +# Biostrings::matchPattern('NNNNNNNNNNNNNNNNNNNNNGG', x, fixed = FALSE) +# regex_based_find_crispr_spacers <- function( +# gr, bsgenome, pam = 'NGG', plot = TRUE, verbose = TRUE){ +# +# # Assert. Import. Comply +# assert_is_all_of(gr, 'GRanges') +# assert_is_all_of(bsgenome, 'BSgenome') +# assert_is_a_bool(verbose) +# start <- substart <- crispr_start <- NULL +# end <- subend <- crispr_end <- strand <- seqnames <- NULL +# gr %<>% add_seq(bsgenome) +# gr %<>% name_uniquely() +# +# # Find crispr sites in targetranges +# pattern <- paste0('[ACGT]{20}', pam_to_regex(pam)) +# if (verbose) cmessage('\tFind %s crispr sites', pattern) +# targetdt <- as.data.table(gr) +# res <- targetdt$seq %>% stri_locate_all_regex(pattern) +# cextract1 <- function(y) y[, 1] %>% paste0(collapse=';') +# cextract2 <- function(y) y[, 2] %>% paste0(collapse=';') +# targetdt [ , substart := vapply( res, cextract1, character(1)) ] +# targetdt [ , subend := vapply( res, cextract2, character(1)) ] +# +# # Rm crispr-free targetranges +# idx <- targetdt[, substart == 'NA'] +# if (sum(idx)>0){ +# if (verbose) cmessage('\t\tRm %d ranges with no crispr site', +# sum(idx)) +# targetdt %<>% extract(!idx) +# } +# +# # Transform into crispr ranges +# targetdt[, targetstart := start] +# targetdt[, targetend := end ] +# +# sites_dt <- tidyr::separate_rows(targetdt, substart, subend) %>% +# data.table() %>% +# extract(, substart := as.numeric(substart)) %>% +# extract(, subend := as.numeric(subend)) %>% +# extract(, seq := substr(seq, substart, subend)) %>% +# extract( strand=='+', crispr_start := start + substart - 1) %>% +# extract( strand=='+', crispr_end := start + subend - 1) %>% +# extract( strand=='-', crispr_start := end - subend + 1) %>% +# extract( strand=='-', crispr_end := end - substart + 1) %>% +# extract(, +# list(seqnames = seqnames, start = crispr_start, +# end = crispr_end, strand = strand, seq = seq, +# targetname = targetname, targetstart = targetstart, +# targetend = targetend)) +# sites <- GRanges(unique(sites_dt), seqinfo = seqinfo(gr)) +# sites$site <- uniquify(sites$targetname) +# spacer <- sites %>% extend( 0, -3, stranded=TRUE, bsgenome=bsgenome) +# pam <- sites %>% down_flank(-2, 0, stranded=TRUE, bsgenome=bsgenome) +# spacer$spacer <- spacer$seq +# spacer$seq <- NULL +# spacer$pam <- pam$seq +# +# # Plot. Message. Return +# if (plot){ +# original <- copy(sites, start=sites$targetstart, end=sites$targetend) +# original$set <- 'target' +# spacer$set <- 'spacer' +# plot_intervals(c(original, spacer), color_var = 'set', +# size_var = 'set', y = 'site') +# sites$set <- NULL +# } +# if (verbose) cmessage('\t\t%d cas9 spacers across %d ranges', +# length(unique(spacer$spacer)), length(spacer)) +# return(sites) +# } + + + +#' Extract subranges +#' +#' Extract subranges from a \code{\link[GenomicRanges]{GRanges-class}} object +#' @param gr \code{\link[GenomicRanges]{GRanges-class}} +#' @param ir \code{\link[IRanges]{IRanges-class}}: subranges to be extracted +#' @param plot TRUE or FALSE (default) +#' @return \code{\link[GenomicRanges]{GRanges-class}}. +#' @examples +#' gr <- GenomicRanges::GRanges(c(A = 'chr1:1-100:+', B = 'chr1:1-100:-')) +#' gr$targetname <- 'AB' +#' ir <- IRanges::IRanges(c(A = '1-10', A = '11-20', B = '1-10', B = '11-20')) +#' extract_subranges(gr, ir, plot = TRUE) +#' @export +extract_subranges <- function(gr, ir, plot = FALSE){ + + # Comply / Assert + substart <- subwidth <- NULL + assert_is_all_of(gr, 'GRanges') + assert_is_all_of(ir, 'IRanges') + assert_has_names(gr) + assert_has_names(ir) + assert_is_subset(unique(names(ir)), names(gr)) + assert_is_a_bool(plot) + + # Convert and merge + idt <- data.table::as.data.table(ir) + gdt <- data.table::as.data.table(gr) %>% cbind(names = names(gr)) + gdt$width <- NULL + setnames(idt, c( 'start', 'end', 'width'), + c('substart', 'subend', 'subwidth')) + mdt <- merge(gdt, idt, by = 'names') + + # Extract + mdt[strand=='+', start := start-1+substart] + mdt[strand=='+', end := start-1+subwidth] + mdt[strand=='-', end := end+1-substart] + mdt[strand=='-', start := end+1-subwidth] + mdt[, c('substart', 'subend', 'subwidth') := NULL] + mr <- dt2gr(mdt, seqinfo = seqinfo(gr)) + names(mr) %<>% uniquify() + + # Plot + if (plot) print(plot_intervals(mr)) + + # Return + mr +} + +#' Extract matching subranges +#' +#' Extract subranges that match pattern +#' +#' @param gr \code{\link[GenomicRanges]{GRanges-class}} +#' @param bsgenome \code{\link{BSgenome}{BSgenome-class}} +#' @param pattern string: search pattern in extended IUPAC alphabet +#' @param plot TRUE or FALSE (default) +#' @return \code{\link[GenomicRanges]{GRanges-class}} +#' @examples +#' # PE example +#' #------------ +#' require(magrittr) +#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp +#' HBB = 'chr11:5227002:-', # snp +#' HEXA = 'chr15:72346580-72346583:-', # del +#' CFTR = 'chr7:117559593-117559595:+'), # ins +#' bsgenome) +#' gr %<>% extend_for_pe() +#' pattern <- strrep('N',20) %>% paste0('NGG') +#' extract_matchranges(gr, bsgenome, pattern, plot = TRUE) +#' +#' # TFBS examples +#' #-------------- +#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 +#' bedfile <- system.file('extdata/SRF.bed', package='multicrispr') +#' gr <- bed_to_granges(bedfile, 'mm10') %>% extend() +#' extract_matchranges(gr, bsgenome, pattern = strrep('N',20) %>% paste0('NGG')) +#' @export +extract_matchranges <- function(gr, bsgenome, pattern, plot = FALSE){ + + # Assert + assert_is_all_of(gr, 'GRanges') + assert_has_names(gr) + assert_is_all_of(bsgenome, 'BSgenome') + assert_is_a_string(pattern) + + # Extract + matches <- unlist(vmatchPattern(pattern, getSeq(bsgenome, gr), fixed=FALSE)) + extract_subranges(gr, matches, plot = plot) %>% sort(ignore.strand = TRUE) + +} + + +#' Find crispr spacers in targetranges +#' @param gr \code{\link[GenomicRanges]{GRanges-class}} +#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} +#' @param spacer string: spacer pattern in extended IUPAC alphabet +#' @param pam string: pam pattern in extended IUPAC alphabet +#' @param complement TRUE (default) or FALSE: also search in compl ranges? +#' @param plot TRUE (default) or FALSE +#' @param verbose TRUE (default) or FALSE +#' @return \code{\link[GenomicRanges]{GRanges-class}} +#' @examples +#' # PE example +#' #----------- +#' require(magrittr) +#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp +#' HBB = 'chr11:5227002:-', # snp +#' HEXA = 'chr15:72346580-72346583:-', # del +#' CFTR = 'chr7:117559593-117559595:+'), # ins +#' bsgenome) +#' plot_intervals(gr) +#' find_pe_spacers(gr, bsgenome) +#' find_spacers(extend_for_pe(gr), bsgenome, complement = FALSE) +#' # complement = FALSE because extend_for_pe already +#' # adds reverse complements and does so in a strand-specific +#' # manner +#' +#' # TFBS example +#' #------------- +#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 +#' bedfile <- system.file('extdata/SRF.bed', package='multicrispr') +#' gr <- bed_to_granges(bedfile, 'mm10') %>% extend() +#' find_spacers(gr, bsgenome) +#' @seealso \code{\link{find_pe_spacers}} to find prime editing spacers +#' @export +find_spacers <- function( + gr, bsgenome, spacer = strrep('N', 20), pam = 'NGG', complement = TRUE, + verbose = TRUE, plot = TRUE +){ + + if (complement){ + gr %<>% add_inverse_strand(plot = FALSE, verbose = verbose) + } + sites <- extract_matchranges(gr, bsgenome, paste0(spacer, pam)) %>% unique() + spacers <- extend(sites, 0, -3, bsgenome = bsgenome) + pams <- down_flank(sites, -2, 0, bsgenome = bsgenome) + spacers$crisprname <- names(spacers) + spacers$crisprspacer <- getSeq(bsgenome, spacers, as.character=TRUE) + spacers$crisprpam <- getSeq(bsgenome, pams, as.character=TRUE) + spacers %>% sort(ignore.strand = TRUE) + if (plot){ + print(plot_intervals(spacers, y='crisprname')) + spacers$sitename <- NULL + } + spacers +} + +#' Extend ranges for prime editing +#' +#' Extend target ranges to span in which to look for spacer-pam seqs +#' +#' Extend target ranges to find nearby spacers for prime editing +#' @param gr \code{\link[GenomicRanges]{GRanges-class}} +#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} +#' @param nrt number: reverse transcription length +#' @param spacer string: spacer pattern in extended IUPAC alphabet +#' @param pam string: pam pattern in extended IUPAC alphabet +#' @param plot TRUE (default) or FALSE +#' @return \code{\link[GenomicRanges]{GRanges-class}} +#' @examples +#' require(magrittr) +#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +#' gr <- char_to_granges(c( PRNP = 'chr20:4699600:+', # snp +#' HBB = 'chr11:5227002:-', # snp +#' HEXA = 'chr15:72346580-72346583:-', # del +#' CFTR = 'chr7:117559593-117559595:+'), # ins +#' bsgenome = bsgenome) +#' find_pe_spacers(gr, bsgenome) +#' (grext <- extend_for_pe(gr)) +#' find_spacers(grext, bsgenome, complement = FALSE) +#' @export +extend_for_pe <- function( + gr, + bsgenome, + nrt = 16, + spacer = strrep('N', 20), + pam = 'NGG', + plot = FALSE +){ + fw <- copy( gr, start=end(gr)+1-nrt-17, end=start(gr)-1+6, strand='+') + rv <- copy( gr, start=end(gr)+1-6, end=start(gr)-1+nrt+17, strand='-') + names(fw) %<>% paste0('_f') + names(rv) %<>% paste0('_r') + ext <- c(fw, rv) + if (plot){ + #gr$set <- 'PE target' + fw$set <- "potential '+' spacers" + rv$set <- "potential '-' spacers" + print(plot_intervals(c(fw, gr, rv), linetype_var = 'set', + y = 'targetname', color_var = 'targetname')) + } + ext +} + + diff --git a/R/07_add_offtargets.R b/R/07_add_offtargets.R index 3d738b898e9520f1b10486b59a9c4009a5593ad7..3011610b40389a2a2f622b63a97015efb5a4bcb7 100644 --- a/R/07_add_offtargets.R +++ b/R/07_add_offtargets.R @@ -1,727 +1,727 @@ -INDEXEDGENOMESDIR <- '~/multicrisprout/indexedgenomes' - genome_dir <- function(indexedgenomesdir = INDEXEDGENOMESDIR, bsgenome){ - paste0(indexedgenomesdir, '/', bsgenome@pkgname)} - - genome_fasta <- function(indexedgenomesdir = INDEXEDGENOMESDIR, bsgenome){ - paste0(indexedgenomesdir, '/', bsgenome@pkgname, '.fa')} - -OUTDIR <- '~/multicrisprout' - target_dir <- function(outdir = OUTDIR){ - paste0(outdir, '/targets') } - - target_fasta <- function(outdir = OUTDIR){ - paste0(outdir, '/targets.fa')} - - spacer_matchfile <- function(outdir = OUTDIR, indexdir){ - paste0(outdir, '/spacers/spacers_to_', basename(indexdir), '.txt')} - - spacer_fasta <- function(outdir = OUTDIR){ - paste0(outdir, '/spacers.fa') } - -#' Has been indexed? -#' @param bsgenome BSgenome -#' @param indexedgenomesdir directory with indexed genomes -#' @return TRUE or FALSE -#' @examples -#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -#' has_been_indexed(bsgenome) -#' @export -has_been_indexed <- function(bsgenome, indexedgenomesdir = INDEXEDGENOMESDIR){ - dir.exists(genome_dir(indexedgenomesdir, bsgenome = bsgenome)) - # don't rm this function - is used in vignette -} - - -indexed_genomes_s3 <- c("BSgenome.Hsapiens.UCSC.hg38", - "BSgenome.Mmusculus.UCSC.mm10") - -#' Index genome -#' -#' Bowtie index genome -#' -#' Checks whether already available locally. If not, checks whether indexed -#' version can be downloaded from our s3 storage. If not, builds the -#' index with bowtie. This can take a few hours, but is a one-time operation. -#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} -#' @param indexedgenomesdir string: directory with bowtie-indexed genome -#' @param download TRUE (default) or FALSE: whether to download pre-indexed -#' version if available -#' @param overwrite TRUE or FALSE (default) -#' @return invisible(genomdir) -#' @examples -#' bsgenome <- BSgenome.Scerevisiae.UCSC.sacCer1::Scerevisiae -#' index_genome(bsgenome, indexedgenomesdir = tempdir()) -#' @export -index_genome <- function( - bsgenome, indexedgenomesdir = INDEXEDGENOMESDIR, - download = TRUE, overwrite = FALSE -){ - # Assert - assert_is_all_of(bsgenome, 'BSgenome') - bsname <- GenomeInfoDb::bsgenomeName(as(bsgenome, 'GenomeDescription')) - - # Return if already available - genomedir <- genome_dir( indexedgenomesdir, bsgenome) - message('\tIndex ', bsname) - if (!overwrite & - dir.exists(genomedir) & length(list.files(genomedir))!=0){ - message('\t\tNot required: ', genomedir, ' already exists', ' - Set overwrite=TRUE to overwrite') - return(invisible(genomedir)) - } - - # Download if present on s3 storage - if (download & (bsname %in% indexed_genomes_s3)){ - url <- paste0('https://s3.mpi-bn.mpg.de/data-multicrispr-2020/', - bsname, '.zip') - zipfile <- paste0(genomedir, '.zip') - message('\t\tDownload pre-indexed version - For a fresh build instead, set download = FALSE') - res <- tryCatch(download.file(url, zipfile), error = function(e) 1) - if (res==0){ - message('\t\tUnzip ') - utils::unzip(zipfile, exdir = dirname(genomedir)) - unlink(zipfile) - return(invisible(genomedir)) - } - message('\t\t\tfailed') - } - - # Index using Bowtie - dir.create(genomedir, showWarnings = FALSE, recursive = TRUE) - genomefasta <- genome_fasta(indexedgenomesdir, bsgenome) - BSgenome::writeBSgenomeToFasta(bsgenome, genomefasta) - Rbowtie::bowtie_build( - genomefasta, genomedir, prefix = basename(genomedir), force = TRUE) - return(invisible(genomedir)) - -} - -#' Index targets -#' -#' Bowtie index targets -#' @param targets \code{\link[GenomicRanges]{GRanges-class}} -#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} -#' @param outdir string: output directory -#' @param verbose TRUE (default) or FALSE -#' @return invisible(targetdir) -#' @examples -#' require(magrittr) -#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 -#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') -#' targets <- extend(bed_to_granges(bedfile, genome = 'mm10')) -#' index_targets(targets, bsgenome) -#' @export -index_targets <- function( - targets, - bsgenome = getBSgenome(genome(targets)[1]), - outdir = OUTDIR, - verbose = TRUE -){ - # Assert - assert_is_all_of(targets, 'GRanges') - - # Add inverse strand - if (verbose) cmessage('\tIndex target sequences') - if (verbose) cmessage('\t\t%d target ranges', length(targets)) - targets %<>% add_inverse_strand(plot = FALSE, verbose = TRUE) - targets %<>% sort(ignore.strand = TRUE) - - # Reduce - targets %<>% GenomicRanges::reduce() - if (verbose) cmessage( - '\t\t%d ranges after merging overlaps', length(targets)) - - # Write to fasta - targetdir <- target_dir(outdir) - targetfasta <- target_fasta(outdir) - targetseqs <- BSgenome::getSeq(bsgenome, targets) - names(targetseqs) <- sprintf( - '%s:%s-%s:%s', - as.character(seqnames(targets)), start(targets), end(targets), - strand(targets)) - if (verbose) cmessage('\t\tWrite seqs to %s', targetfasta) - dir.create(dirname(targetfasta), showWarnings = FALSE, recursive = TRUE) - Biostrings::writeXStringSet(targetseqs, targetfasta) - - # Index targets - if (verbose) cmessage('\t\tWrite index to %s', targetdir) - Rbowtie::bowtie_build( targetfasta, - targetdir, - prefix = basename(targetdir), - force = TRUE) - return(invisible(targetdir)) - -} - - -run_bowtie <- function(spacerfasta, indexdir, outfile, norc, mismatches = 2){ - - assertive::assert_all_are_existing_files(spacerfasta) - assertive::assert_all_are_dirs(indexdir) - assertive::assert_is_a_bool(norc) - assertive::assert_is_a_number(mismatches) - assertive::assert_is_subset(mismatches, 0:3) - - dir.create(dirname(outfile), recursive = TRUE, showWarnings = FALSE) - - Rbowtie::bowtie( - sequences = spacerfasta, - index = file.path(indexdir, basename(indexdir)), - f = TRUE, # fasta input - #m = 10000, # ignore seqs with m+ alignments - a = TRUE, # report ALL alignments - v = mismatches, # up to 3 mismatches - norc = norc, # no reverse complement - outfile = outfile, - force = TRUE) -} - -read_bowtie_results <- function(outfile, mis){ - - .N <- . <- readname <- NULL - - assertive::assert_all_are_existing_files(outfile) - mismatch <- mismatches <- NULL - - dt <- data.table::fread( - outfile, - col.names = c( 'readname', 'strand', 'target', 'position', - 'readseq', 'quality', 'matches', 'mismatches')) - - pattern <- '20:[ACGT][>][ACGT]' - dt %<>% extract(!stri_detect_regex(mismatches, pattern)) - - dt[ is.na(mismatches), mismatch := 0] - dt[!is.na(mismatches), mismatch := stringi::stri_count_fixed( - mismatches, '>')] - dt %<>% extract(mismatch<=mis) - dt[, mismatch := factor(mismatch, c(seq(0, mis)))] - - results <- dt %>% - extract( , .N, keyby = .(readname, mismatch)) %>% - data.table::dcast(readname ~ mismatch, value.var='N', drop=FALSE) %>% - data.table::setnames(names(.)[-1], paste0('MM', names(.)[-1])) - - results <- cbind(results[, 1], setnafill(results[, -1], fill = 0)) - results -} - - -#' Match spacer sequences -#' -#' Count matches to indexed target/genome -#' -#' @param seqs character vector: sequences to match against indexed ref -#' @param indexdir string: dir containing indexed reference. -#' This can be an indexed genome( \code{\link{index_genome}} -#' It can also be indexed targets (\code{\link{index_targets}}) -#' @param norc TRUE or FALSE: whether to run bowtie also with revcompls -#' Generally TRUE for genome and FALSE for target matches, -#' because target ranges generally include both strands. -#' @param mismatches max number of mismatches to consider -#' @param outdir string: multicrispr output directory -#' @param verbose TRUE (default) or FALSE -#' @return data.table -#' @seealso \code{\link{index_genome}}, \code{\link{index_targets}} -#' @examples -#' # PE example -#' #----------- -#' require(magrittr) -#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp -#' HBB = 'chr11:5227002:-', # snp -#' HEXA = 'chr15:72346580-72346583:-', # del -#' CFTR = 'chr7:117559593-117559595:+'), # ins -#' bsgenome) -#' spacers <- find_pe_spacers(gr, bsgenome) -#' # indexdir <- genome_dir(indexedgenomesdir = INDEXEDGENOMESDIR, bsgenome) -#' # match_seqs(spacers$crisprspacer, indexdir, norc=TRUE, mismatches = 1) -#' -#' # TFBS example -#' #------------- -#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 -#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') -#' targets <- extend(bed_to_granges(bedfile, genome = 'mm10')) -#' indexdir <- index_targets(targets, bsgenome) -#' spacers <- find_spacers(targets, bsgenome) -#' seqs <- unique(paste0(spacers$crisprspacer, spacers$crisprpam)) -#' match_seqs(seqs, indexdir, norc=FALSE) -#' match_seqs(seqs, indexdir, norc=FALSE, mismatches=3) -#' @export -match_seqs <- function(seqs, indexdir, norc, mismatches = 2, - outdir = OUTDIR, verbose = TRUE -){ - - # Assert - assertive::assert_is_character(seqs) - assertive::assert_has_no_duplicates(seqs) - - # Write reads to fasta - reads <- Biostrings::DNAStringSet(unique(seqs)) - reads %<>% name_uniquely('read') - readfasta <- spacer_fasta(outdir) - dir.create(dirname(readfasta), recursive = TRUE, showWarnings = FALSE) - if (verbose) cmessage('\t\tWrite reads to %s', readfasta) - Biostrings::writeXStringSet(reads, readfasta) - - # Map reads and read results - outfile <- spacer_matchfile(outdir, indexdir) - if (verbose) cmessage('\t\tMap reads: %s', outfile) - run_bowtie(readfasta, indexdir, outfile, norc = norc, - mismatches = max(1, mismatches)) # 1-mismatch offtargets - if (verbose) cmessage('\t\tLoad results') # required for pam correction - matches <- read_bowtie_results(outfile, mismatches) - - # Count matches - if (verbose) cmessage('\t\tCount matches') - readdt <- data.table(readname = names(reads), - readseq = unname(as.character(reads))) - readdt %<>% merge(matches, by='readname', all=TRUE, sort=FALSE) - readdt <- cbind(readdt[, c(1, 2)], - data.table::setnafill(readdt[, -c(1, 2)], fill = 0)) - - # Return - readdt[, 'readname' := NULL] - readdt[seqs, on = 'readseq'] -} - -explode <- function(x) unlist(strsplit(x, character(0))) -paste_dtcols <- function(x) x [, do.call(paste0, .SD) ] -expand_iupac_ambiguities <- function(x){ - paste_dtcols( - as.data.table( - lapply(Biostrings::IUPAC_CODE_MAP[explode(x)], explode))) -} - -#' Match spacers -#' -#' Count matches to indexed target/genome and add to GRanges -#' -#' Expands iupac amgiguities in the pam sequence. -#' Matches all resulting sequences against (indexes) target and genome. -#' Adds match counts to GRanges object, and then returns it. -#' @param spacers spacer \code{\link[GenomicRanges]{GRanges-class}} -#' @param indexdir string: dir containing indexed reference. -#' This can be an indexed genome( \code{\link{index_genome}} -#' It can also be indexed targets (\code{\link{index_targets}}) -#' @param norc TRUE or FALSE: whether to run bowtie also with revcompls -#' Generally TRUE for genome and FALSE for target matches, -#' because target ranges generally include both strands. -#' @param mismatches number (default 2): max number of mismatches to consider -#' @param outdir string: file where to output bowtie results -#' @param pam string (default 'NGG') pam pattern to expand -#' @param verbose TRUE (default) or FALSE -#' @return data.table -#' @seealso \code{\link{index_genome}}, \code{\link{index_targets}} -#' @examples -#' # PE example -#' #----------- -#' require(magrittr) -#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp -#' HBB = 'chr11:5227002:-', # snp -#' HEXA = 'chr15:72346580-72346583:-', # del -#' CFTR = 'chr7:117559593-117559595:+'), # ins -#' bsgenome) -#' spacers <- find_pe_spacers(gr, bsgenome) -#' # indexdir <- genome_dir(indexedgenomesdir = INDEXEDGENOMESDIR, bsgenome) -#' # match_spacers(spacers, indexdir, norc=TRUE, mismatches = 1) -#' -#' # TFBS example -#' #------------- -#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 -#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') -#' targets <- extend(bed_to_granges(bedfile, genome = 'mm10')) -#' indexdir <- index_targets(targets, bsgenome) -#' spacers <- find_spacers(targets, bsgenome) -#' match_spacers(spacers, indexdir, norc=FALSE, mismatches = 1) -#' @export -match_spacers <- function( - spacers, indexdir, norc, mismatches = 2, - outdir = OUTDIR, pam = 'NGG', verbose = TRUE -){ - # Comply - crispr <- crisprspacer <- . <- NULL - - # Expand pams - if (verbose) cmessage('\t\tExpand iupac ambiguities in pam') - spacerseqs <- unique(spacers$crisprspacer) - pamseqs <- expand_iupac_ambiguities(pam) - crisprdt <- data.table( - crisprspacer = rep(spacerseqs, each=length(pamseqs)), - crisprpam = rep(pamseqs, times=length(spacerseqs))) %>% - extract(, crispr := paste0(crisprspacer, pamseqs)) - crisprseqs <- unique(crisprdt$crispr) - - # Count matches - matches <- match_seqs(crisprseqs, - indexdir, - norc = norc, - mismatches = mismatches, - outdir = outdir, - verbose = verbose) - matches %<>% merge(crisprdt, by.x = 'readseq', by.y = 'crispr', all = TRUE) - - # Aggregate per spacer - count_vars <- names(matches) %>% extract(stri_startswith_fixed(., 'MM')) - spacer_dt <- data.table(crisprspacer = unique(matches$crisprspacer)) - for (var in count_vars){ - spacer_dt %<>% merge(matches[ , list(counts = sum(get(var))), - by = 'crisprspacer'], - by = 'crisprspacer') - setnames(spacer_dt, 'counts', var) - } - - # Return - spacer_dt[spacerseqs, on = 'crisprspacer'] -} - -#' Add target counts -#' -#' Count spacer matches among targets -#' -#' Expands iupac amgiguities in the pam sequence. -#' Matches all resulting sequences against (indexes) target and genome. -#' Adds match counts to GRanges object, and then returns it. -#' @param spacers spacer \code{\link[GenomicRanges]{GRanges-class}} -#' @param targets target \code{\link[GenomicRanges]{GRanges-class}} -#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} -#' @param mismatches number (default 2): max number of mismatches to consider -#' @param outdir dir where output is written to -#' @param pam string (default 'NGG') pam pattern to expand -#' @param verbose TRUE (default) or FALSE -#' @return updated spacer \code{\link[GenomicRanges]{GRanges-class}} -#' @seealso \code{\link{index_genome}}, \code{\link{index_targets}} -#' @examples -#' # TFBS example -#' #------------- -#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 -#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') -#' targets <- extend(bed_to_granges(bedfile, genome = 'mm10')) -#' spacers <- find_spacers(targets, bsgenome) -#' add_target_counts(spacers, targets, bsgenome) -#' @export -add_target_counts <- function( - spacers, targets, bsgenome, mismatches = 2, - pam = 'NGG', outdir = OUTDIR, verbose = TRUE -){ - # Comply - . <- NULL - - # Index targets - targetdir <- target_dir(outdir) - dir.create(targetdir, showWarnings = FALSE, recursive = FALSE) - index_targets(targets, bsgenome, outdir) - - # Match spacers to targets - if (verbose) cmessage('\tAdd target counts') - matches <- match_spacers( - spacers, targetdir, norc = TRUE, - mismatches = mismatches, outdir = outdir, - pam = pam, verbose = verbose) - names(matches) %<>% stringi::stri_replace_first_regex('^MM', 'T') - - # Add counts to spacers - dt <- gr2dt(spacers) %>% - merge(matches, by = 'crisprspacer', sort = FALSE) - - # Organize columns and return - targetvars <- names(dt) %>% extract(stri_startswith_fixed(., 'target')) - crisprvars <- c('crisprname', 'crisprspacer', 'crisprpam', 'crisprext') %>% - intersect(names(dt)) - othervars <- setdiff(names(dt), c(targetvars, crisprvars)) - - dt %>% - extract(, c(targetvars, crisprvars, othervars), with = FALSE) %>% - dt2gr(seqinfo(spacers)) - -} -#' Add genome counts -#' -#' Count spacer matches to genome and add to GRanges -#' -#' Expands iupac amgiguities in the pam sequence. -#' Matches all resulting sequences against (indexes) target and genome. -#' Adds match counts to GRanges object, and then returns it. -#' @param spacers spacer \code{\link[GenomicRanges]{GRanges-class}} -#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} -#' @param mismatches number (default 2): max number of mismatches to consider -#' @param pam string (default 'NGG') pam pattern to expand -#' @param outdir dir where output is written to -#' @param indexedgenomesdir string: dir with indexed genomes -#' @param plot FALSE (default) or TRUE -#' @param verbose TRUE (default) or FALSE -#' @return spacer GRanges with additional mcols -#' @seealso \code{\link{index_genome}}, \code{\link{index_targets}} -#' @examples -#' # PE example -#' #----------- -#' require(magrittr) -#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp -#' HBB = 'chr11:5227002:-', # snp -#' HEXA = 'chr15:72346580-72346583:-', # del -#' CFTR = 'chr7:117559593-117559595:+'), # ins -#' bsgenome) -#' spacers <- find_pe_spacers(gr, bsgenome) -#' # index_genome(bsgenome) -#' # add_genome_counts(spacers, bsgenome, mismatches=0, plot = TRUE) -#' -#' # TFBS example -#' #------------- -#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 -#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') -#' targets <- extend(bed_to_granges(bedfile, genome = 'mm10')) -#' spacers <- find_spacers(targets, bsgenome) -#' # index_genome(bsgenome) -#' # add_genome_counts(spacers, bsgenome) -#' # add_genome_counts(spacers, bsgenome, mismatches=3) -#' @export -add_genome_counts <- function( - spacers, - bsgenome = getBSgenome(genome(spacers)[1]), - mismatches = 2, - pam = 'NGG', - outdir = OUTDIR, - indexedgenomesdir = INDEXEDGENOMESDIR, - plot = FALSE, - verbose = TRUE -){ - . <- NULL - - # Add genome matches - genomedir <- genome_dir(indexedgenomesdir, bsgenome) - if (verbose) message('\tAdd genome counts') - matches <- match_spacers(spacers, genomedir, norc = FALSE, - mismatches = mismatches, - outdir = outdir, pam = pam, verbose = verbose) - names(matches) %<>% stringi::stri_replace_first_regex('^MM', 'G') - dt <- gr2dt(spacers) %>% - merge(matches, by = 'crisprspacer', sort = FALSE) - - # Organize columns and return - targetvars <- names(dt) %>% extract(stri_startswith_fixed(., 'target')) - crisprvars <- c('crisprname', 'crisprspacer', 'crisprpam', 'crisprext') %>% - intersect(names(dt)) - othervars <- setdiff(names(dt), c(targetvars, crisprvars)) - spacers <- dt %>% - extract(, c(targetvars, crisprvars, othervars), with=FALSE) %>% - dt2gr(seqinfo(spacers)) - - # Plot - if (plot){ - grplot <- gr2dt(spacers) %>% - extract(, if(any(.$G0==1)) .SD, by = 'targetname') %>% - dt2gr(seqinfo(spacers)) - p <- plot_intervals(grplot, alpha_var = 'G0') + - ggplot2::scale_alpha(trans = 'reverse', range = c(0.3, 1), - breaks = c(0,1,max(grplot$G0))) - print(p) - } - - # Return - spacers -} - - -#' @export -#' @rdname add_offtargets -add_specificity <- function(...){ - #.Deprecated('add_offtargets') - add_offtargets(...) -} - - -#' Add offtarget counts -#' -#' Add mcols 'off' (offtargets), 'off0' (0-mismatch offtargets), etc. -#' -#' For NULL targets: offtarget counts = (G0- 1) + G1 + ... -#' Non-NULL targets: offtarget counts = (G0-T0) + (G1-T1) + ... -#' -#' @param spacers spacer \code{\link[GenomicRanges]{GRanges-class}} -#' @param targets NULL (default) or target -#' \code{\link[GenomicRanges]{GRanges-class}} -#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} -#' @param mismatches number (default 2): max number of mismatches to consider -#' @param pam string (default 'NGG'): pam sequence -#' @param outdir directory where output is written to -#' @param indexedgenomesdir string: dir with indexed genomes -#' @param plot TRUE (default) or FALSE -#' @param alpha_var string: mapped to alpha in plot -#' @param size_var string: mapped to size in plot -#' @param verbose TRUE (default) or FALSE -#' @param ... to channel deprecated add_specificity to add_offtargets -#' @return filtered spacer \code{\link[GenomicRanges]{GRanges-class}} -#' @examples -#' # PE example -#' #----------- -#' require(magrittr) -#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp -#' HBB = 'chr11:5227002:-', # snp -#' HEXA = 'chr15:72346580-72346583:-', # del -#' CFTR = 'chr7:117559593-117559595:+'), # ins -#' bsgenome) -#' spacers <- find_pe_spacers(gr, bsgenome) -#' # index_genome(bsgenome) -#' # add_offtargets(spacers, bsgenome, mismatches=0) -#' # add_offtargets(spacers, bsgenome, mismatches=2) -#' # TFBS example -#' #------------- -#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 -#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') -#' targets <- extend(bed_to_granges(bedfile, genome = 'mm10')) -#' spacers <- find_spacers(targets, bsgenome) -#' # index_genome(bsgenome) -#' # spacers %>% add_offtargets(bsgenome) # off = G - 1 -#' # spacers %>% add_offtargets(bsgenome, targets) # off = G - T -#' @export -add_offtargets <- function(spacers, bsgenome, targets = NULL, mismatches = 2, - pam = 'NGG', outdir = OUTDIR, indexedgenomesdir = INDEXEDGENOMESDIR, - plot = TRUE, size_var = default_size_var(spacers), alpha_var = 'off', - verbose= TRUE -){ -# First clear - offcols <- c(paste0('G', 0:3), paste0('T', 0:3), paste0('off', 0:3), 'off') - mcols(spacers) %<>% extract(, setdiff(names(.), offcols)) - . <- off <- NULL -# Add genome/target counts - spacers %<>% add_genome_counts( - bsgenome, mismatches = mismatches, outdir = outdir, - indexedgenomesdir = indexedgenomesdir, - pam = pam, verbose = verbose) - if (!is.null(targets)){ - spacers %<>% add_target_counts( - targets, bsgenome, mismatches = mismatches, - outdir = outdir, pam = pam, verbose = verbose) - for (mis in 0:mismatches){ - assert_all_are_true(mcols(spacers)[[paste0('T', mis)]] <= - mcols(spacers)[[paste0('G', mis)]])}} -# Add offtarget counts - digits <- ceiling(log10(length(spacers))) - if (verbose) cmessage('\tCalculate offtargets for %d spacers', - length(spacers)) - spacers$off <- spacers$G0 - (if (is.null(targets)) 1 else spacers$T0) - spacers$off0 <- spacers$off # don't switch order to keep off first - if (mismatches>0){ - for (mis in seq_len(mismatches)){ - Gx <- mcols(spacers)[[paste0('G', mis)]] - Tx <- if (is.null(targets)) 0 else mcols(spacers)[[paste0('T',mis)]] - offcounts <- Gx - Tx - offvar <- paste0('off', mis) - mcols(spacers)[[offvar]] <- offcounts - spacers$off %<>% add(offcounts) - if (verbose) cmessage('\t %s have no %d-mismatch offtargets', - format(sum(mcols(spacers)[[offvar]]==0), width = digits), mis)}} -# Plot and return - if (plot){ - grplot <- gr2dt(spacers) %>% # don't do that - what if no such exist? - #extract(, if(any(off==0)) .SD, by = 'targetname') %>% - dt2gr(seqinfo(spacers)) - p <- plot_intervals( - grplot, alpha_var = 'off', size_var = size_var) - print(p)} - spacers -} - - -#===================================================================== -# Following functions are no longer exported. -# I think better to leave final filtering as an explicit end user step -#===================================================================== - - -# @rdname add_offtargets -# @export -filter_target_specific <- function(...){ - .Deprecated('filter_offtarget_free') - filter_offtarget_free(...) -} - - -# @rdname add_offtargets -# @export -filter_offtarget_free <- function( - spacers, - targets = NULL, - bsgenome = getBSgenome(genome(spacers)[1]), - mismatches = 2, - pam = 'NGG', - outdir = OUTDIR, - indexedgenomesdir = INDEXEDGENOMESDIR, - plot = TRUE, - verbose = TRUE -){ - . <- NULL - # Add specificty info - spacers %<>% add_offtargets( - bsgenome = bsgenome, - targets = targets, - mismatches = mismatches, - pam = pam, - outdir = outdir, - indexedgenomesdir = indexedgenomesdir, - plot = plot, - verbose = verbose) - - # Subset - spacers %<>% subset(.$off==0) - - # Return - return(spacers) -} - - - -# Filter for specific prime editing spacers -# -# Filters spacers which are specific for prime editing site -# -# @param spacers spacer \code{\link[GenomicRanges]{GRanges-class}} -# @param bsgenome \code{\link[BSgenome]{BSgenome-class}} -# @param outdir directory where output is written to -# @param pam string (default 'NGG'): pam sequence -# @param outdir string: dir to which output is written -# @param indexedgenomesdir dir with bowtie-indexed genomes -# @param verbose TRUE (default) or FALSE -# @return filtered spacer \code{\link[GenomicRanges]{GRanges-class}} -# @examples -# # PE example -# #----------- -# require(magrittr) -# bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -# gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp -# HBB = 'chr11:5227002:-', # snp -# HEXA = 'chr15:72346580-72346583:-', # del -# CFTR = 'chr7:117559593-117559595:+'), # ins -# bsgenome) -# spacers <- find_pe_spacers(gr, bsgenome) -# # index_genome(bsgenome) # one time effort - takes few h -# # filter_prime_specific(spacers, bsgenome) -# @export -filter_prime_specific <- function( - spacers, - bsgenome = getBSgenome(genome(spacers)[1]), - pam = 'NGG', - outdir = OUTDIR, - indexedgenomesdir = INDEXEDGENOMESDIR, - verbose = TRUE -){ - # Add genome matches - spacers %<>% add_genome_counts( - bsgenome, mismatches = 1, outdir = outdir, - pam = pam, verbose = verbose) - - # Filter for specificity - digits <- ceiling(log10(length(spacers))) - if (verbose) cmessage('\tFilter %d spacers', length(spacers)) - idx <- spacers$G0==1 - spacers %<>% subset(idx) - if (verbose) cmessage('\t %s G0==1', format(sum(idx), width = digits)) - - # Return - spacers -} - +INDEXEDGENOMESDIR <- '~/multicrisprout/indexedgenomes' + genome_dir <- function(indexedgenomesdir = INDEXEDGENOMESDIR, bsgenome){ + paste0(indexedgenomesdir, '/', bsgenome@pkgname)} + + genome_fasta <- function(indexedgenomesdir = INDEXEDGENOMESDIR, bsgenome){ + paste0(indexedgenomesdir, '/', bsgenome@pkgname, '.fa')} + +OUTDIR <- '~/multicrisprout' + target_dir <- function(outdir = OUTDIR){ + paste0(outdir, '/targets') } + + target_fasta <- function(outdir = OUTDIR){ + paste0(outdir, '/targets.fa')} + + spacer_matchfile <- function(outdir = OUTDIR, indexdir){ + paste0(outdir, '/spacers/spacers_to_', basename(indexdir), '.txt')} + + spacer_fasta <- function(outdir = OUTDIR){ + paste0(outdir, '/spacers.fa') } + +#' Has been indexed? +#' @param bsgenome BSgenome +#' @param indexedgenomesdir directory with indexed genomes +#' @return TRUE or FALSE +#' @examples +#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +#' has_been_indexed(bsgenome) +#' @export +has_been_indexed <- function(bsgenome, indexedgenomesdir = INDEXEDGENOMESDIR){ + dir.exists(genome_dir(indexedgenomesdir, bsgenome = bsgenome)) + # don't rm this function - is used in vignette +} + + +indexed_genomes_s3 <- c("BSgenome.Hsapiens.UCSC.hg38", + "BSgenome.Mmusculus.UCSC.mm10") + +#' Index genome +#' +#' Bowtie index genome +#' +#' Checks whether already available locally. If not, checks whether indexed +#' version can be downloaded from our s3 storage. If not, builds the +#' index with bowtie. This can take a few hours, but is a one-time operation. +#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} +#' @param indexedgenomesdir string: directory with bowtie-indexed genome +#' @param download TRUE (default) or FALSE: whether to download pre-indexed +#' version if available +#' @param overwrite TRUE or FALSE (default) +#' @return invisible(genomdir) +#' @examples +#' bsgenome <- BSgenome.Scerevisiae.UCSC.sacCer1::Scerevisiae +#' index_genome(bsgenome, indexedgenomesdir = tempdir()) +#' @export +index_genome <- function( + bsgenome, indexedgenomesdir = INDEXEDGENOMESDIR, + download = TRUE, overwrite = FALSE +){ + # Assert + assert_is_all_of(bsgenome, 'BSgenome') + bsname <- GenomeInfoDb::bsgenomeName(as(bsgenome, 'GenomeDescription')) + + # Return if already available + genomedir <- genome_dir( indexedgenomesdir, bsgenome) + message('\tIndex ', bsname) + if (!overwrite & + dir.exists(genomedir) & length(list.files(genomedir))!=0){ + message('\t\tNot required: ', genomedir, ' already exists', ' + Set overwrite=TRUE to overwrite') + return(invisible(genomedir)) + } + + # Download if present on s3 storage + if (download & (bsname %in% indexed_genomes_s3)){ + url <- paste0('https://s3.mpi-bn.mpg.de/data-multicrispr-2020/', + bsname, '.zip') + zipfile <- paste0(genomedir, '.zip') + message('\t\tDownload pre-indexed version + For a fresh build instead, set download = FALSE') + res <- tryCatch(download.file(url, zipfile), error = function(e) 1) + if (res==0){ + message('\t\tUnzip ') + utils::unzip(zipfile, exdir = dirname(genomedir)) + unlink(zipfile) + return(invisible(genomedir)) + } + message('\t\t\tfailed') + } + + # Index using Bowtie + dir.create(genomedir, showWarnings = FALSE, recursive = TRUE) + genomefasta <- genome_fasta(indexedgenomesdir, bsgenome) + BSgenome::writeBSgenomeToFasta(bsgenome, genomefasta) + Rbowtie::bowtie_build( + genomefasta, genomedir, prefix = basename(genomedir), force = TRUE) + return(invisible(genomedir)) + +} + +#' Index targets +#' +#' Bowtie index targets +#' @param targets \code{\link[GenomicRanges]{GRanges-class}} +#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} +#' @param outdir string: output directory +#' @param verbose TRUE (default) or FALSE +#' @return invisible(targetdir) +#' @examples +#' require(magrittr) +#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 +#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') +#' targets <- extend(bed_to_granges(bedfile, genome = 'mm10')) +#' index_targets(targets, bsgenome) +#' @export +index_targets <- function( + targets, + bsgenome = getBSgenome(genome(targets)[1]), + outdir = OUTDIR, + verbose = TRUE +){ + # Assert + assert_is_all_of(targets, 'GRanges') + + # Add inverse strand + if (verbose) cmessage('\tIndex target sequences') + if (verbose) cmessage('\t\t%d target ranges', length(targets)) + targets %<>% add_inverse_strand(plot = FALSE, verbose = TRUE) + targets %<>% sort(ignore.strand = TRUE) + + # Reduce + targets %<>% GenomicRanges::reduce() + if (verbose) cmessage( + '\t\t%d ranges after merging overlaps', length(targets)) + + # Write to fasta + targetdir <- target_dir(outdir) + targetfasta <- target_fasta(outdir) + targetseqs <- BSgenome::getSeq(bsgenome, targets) + names(targetseqs) <- sprintf( + '%s:%s-%s:%s', + as.character(seqnames(targets)), start(targets), end(targets), + strand(targets)) + if (verbose) cmessage('\t\tWrite seqs to %s', targetfasta) + dir.create(dirname(targetfasta), showWarnings = FALSE, recursive = TRUE) + Biostrings::writeXStringSet(targetseqs, targetfasta) + + # Index targets + if (verbose) cmessage('\t\tWrite index to %s', targetdir) + Rbowtie::bowtie_build( targetfasta, + targetdir, + prefix = basename(targetdir), + force = TRUE) + return(invisible(targetdir)) + +} + + +run_bowtie <- function(spacerfasta, indexdir, outfile, norc, mismatches = 2){ + + assertive::assert_all_are_existing_files(spacerfasta) + assertive::assert_all_are_dirs(indexdir) + assertive::assert_is_a_bool(norc) + assertive::assert_is_a_number(mismatches) + assertive::assert_is_subset(mismatches, 0:3) + + dir.create(dirname(outfile), recursive = TRUE, showWarnings = FALSE) + + Rbowtie::bowtie( + sequences = spacerfasta, + index = file.path(indexdir, basename(indexdir)), + f = TRUE, # fasta input + #m = 10000, # ignore seqs with m+ alignments + a = TRUE, # report ALL alignments + v = mismatches, # up to 3 mismatches + norc = norc, # no reverse complement + outfile = outfile, + force = TRUE) +} + +read_bowtie_results <- function(outfile, mis){ + + .N <- . <- readname <- NULL + + assertive::assert_all_are_existing_files(outfile) + mismatch <- mismatches <- NULL + + dt <- data.table::fread( + outfile, + col.names = c( 'readname', 'strand', 'target', 'position', + 'readseq', 'quality', 'matches', 'mismatches')) + + pattern <- '20:[ACGT][>][ACGT]' + dt %<>% extract(!stri_detect_regex(mismatches, pattern)) + + dt[ is.na(mismatches), mismatch := 0] + dt[!is.na(mismatches), mismatch := stringi::stri_count_fixed( + mismatches, '>')] + dt %<>% extract(mismatch<=mis) + dt[, mismatch := factor(mismatch, c(seq(0, mis)))] + + results <- dt %>% + extract( , .N, keyby = .(readname, mismatch)) %>% + data.table::dcast(readname ~ mismatch, value.var='N', drop=FALSE) %>% + data.table::setnames(names(.)[-1], paste0('MM', names(.)[-1])) + + results <- cbind(results[, 1], setnafill(results[, -1], fill = 0)) + results +} + + +#' Match spacer sequences +#' +#' Count matches to indexed target/genome +#' +#' @param seqs character vector: sequences to match against indexed ref +#' @param indexdir string: dir containing indexed reference. +#' This can be an indexed genome( \code{\link{index_genome}} +#' It can also be indexed targets (\code{\link{index_targets}}) +#' @param norc TRUE or FALSE: whether to run bowtie also with revcompls +#' Generally TRUE for genome and FALSE for target matches, +#' because target ranges generally include both strands. +#' @param mismatches max number of mismatches to consider +#' @param outdir string: multicrispr output directory +#' @param verbose TRUE (default) or FALSE +#' @return data.table +#' @seealso \code{\link{index_genome}}, \code{\link{index_targets}} +#' @examples +#' # PE example +#' #----------- +#' require(magrittr) +#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp +#' HBB = 'chr11:5227002:-', # snp +#' HEXA = 'chr15:72346580-72346583:-', # del +#' CFTR = 'chr7:117559593-117559595:+'), # ins +#' bsgenome) +#' spacers <- find_pe_spacers(gr, bsgenome) +#' # indexdir <- genome_dir(indexedgenomesdir = INDEXEDGENOMESDIR, bsgenome) +#' # match_seqs(spacers$crisprspacer, indexdir, norc=TRUE, mismatches = 1) +#' +#' # TFBS example +#' #------------- +#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 +#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') +#' targets <- extend(bed_to_granges(bedfile, genome = 'mm10')) +#' indexdir <- index_targets(targets, bsgenome) +#' spacers <- find_spacers(targets, bsgenome) +#' seqs <- unique(paste0(spacers$crisprspacer, spacers$crisprpam)) +#' match_seqs(seqs, indexdir, norc=FALSE) +#' match_seqs(seqs, indexdir, norc=FALSE, mismatches=3) +#' @export +match_seqs <- function(seqs, indexdir, norc, mismatches = 2, + outdir = OUTDIR, verbose = TRUE +){ + + # Assert + assertive::assert_is_character(seqs) + assertive::assert_has_no_duplicates(seqs) + + # Write reads to fasta + reads <- Biostrings::DNAStringSet(unique(seqs)) + reads %<>% name_uniquely('read') + readfasta <- spacer_fasta(outdir) + dir.create(dirname(readfasta), recursive = TRUE, showWarnings = FALSE) + if (verbose) cmessage('\t\tWrite reads to %s', readfasta) + Biostrings::writeXStringSet(reads, readfasta) + + # Map reads and read results + outfile <- spacer_matchfile(outdir, indexdir) + if (verbose) cmessage('\t\tMap reads: %s', outfile) + run_bowtie(readfasta, indexdir, outfile, norc = norc, + mismatches = max(1, mismatches)) # 1-mismatch offtargets + if (verbose) cmessage('\t\tLoad results') # required for pam correction + matches <- read_bowtie_results(outfile, mismatches) + + # Count matches + if (verbose) cmessage('\t\tCount matches') + readdt <- data.table(readname = names(reads), + readseq = unname(as.character(reads))) + readdt %<>% merge(matches, by='readname', all=TRUE, sort=FALSE) + readdt <- cbind(readdt[, c(1, 2)], + data.table::setnafill(readdt[, -c(1, 2)], fill = 0)) + + # Return + readdt[, 'readname' := NULL] + readdt[seqs, on = 'readseq'] +} + +explode <- function(x) unlist(strsplit(x, character(0))) +paste_dtcols <- function(x) x [, do.call(paste0, .SD) ] +expand_iupac_ambiguities <- function(x){ + paste_dtcols( + as.data.table( + lapply(Biostrings::IUPAC_CODE_MAP[explode(x)], explode))) +} + +#' Match spacers +#' +#' Count matches to indexed target/genome and add to GRanges +#' +#' Expands iupac amgiguities in the pam sequence. +#' Matches all resulting sequences against (indexes) target and genome. +#' Adds match counts to GRanges object, and then returns it. +#' @param spacers spacer \code{\link[GenomicRanges]{GRanges-class}} +#' @param indexdir string: dir containing indexed reference. +#' This can be an indexed genome( \code{\link{index_genome}} +#' It can also be indexed targets (\code{\link{index_targets}}) +#' @param norc TRUE or FALSE: whether to run bowtie also with revcompls +#' Generally TRUE for genome and FALSE for target matches, +#' because target ranges generally include both strands. +#' @param mismatches number (default 2): max number of mismatches to consider +#' @param outdir string: file where to output bowtie results +#' @param pam string (default 'NGG') pam pattern to expand +#' @param verbose TRUE (default) or FALSE +#' @return data.table +#' @seealso \code{\link{index_genome}}, \code{\link{index_targets}} +#' @examples +#' # PE example +#' #----------- +#' require(magrittr) +#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp +#' HBB = 'chr11:5227002:-', # snp +#' HEXA = 'chr15:72346580-72346583:-', # del +#' CFTR = 'chr7:117559593-117559595:+'), # ins +#' bsgenome) +#' spacers <- find_pe_spacers(gr, bsgenome) +#' # indexdir <- genome_dir(indexedgenomesdir = INDEXEDGENOMESDIR, bsgenome) +#' # match_spacers(spacers, indexdir, norc=TRUE, mismatches = 1) +#' +#' # TFBS example +#' #------------- +#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 +#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') +#' targets <- extend(bed_to_granges(bedfile, genome = 'mm10')) +#' indexdir <- index_targets(targets, bsgenome) +#' spacers <- find_spacers(targets, bsgenome) +#' match_spacers(spacers, indexdir, norc=FALSE, mismatches = 1) +#' @export +match_spacers <- function( + spacers, indexdir, norc, mismatches = 2, + outdir = OUTDIR, pam = 'NGG', verbose = TRUE +){ + # Comply + crispr <- crisprspacer <- . <- NULL + + # Expand pams + if (verbose) cmessage('\t\tExpand iupac ambiguities in pam') + spacerseqs <- unique(spacers$crisprspacer) + pamseqs <- expand_iupac_ambiguities(pam) + crisprdt <- data.table( + crisprspacer = rep(spacerseqs, each=length(pamseqs)), + crisprpam = rep(pamseqs, times=length(spacerseqs))) %>% + extract(, crispr := paste0(crisprspacer, pamseqs)) + crisprseqs <- unique(crisprdt$crispr) + + # Count matches + matches <- match_seqs(crisprseqs, + indexdir, + norc = norc, + mismatches = mismatches, + outdir = outdir, + verbose = verbose) + matches %<>% merge(crisprdt, by.x = 'readseq', by.y = 'crispr', all = TRUE) + + # Aggregate per spacer + count_vars <- names(matches) %>% extract(stri_startswith_fixed(., 'MM')) + spacer_dt <- data.table(crisprspacer = unique(matches$crisprspacer)) + for (var in count_vars){ + spacer_dt %<>% merge(matches[ , list(counts = sum(get(var))), + by = 'crisprspacer'], + by = 'crisprspacer') + setnames(spacer_dt, 'counts', var) + } + + # Return + spacer_dt[spacerseqs, on = 'crisprspacer'] +} + +#' Add target counts +#' +#' Count spacer matches among targets +#' +#' Expands iupac amgiguities in the pam sequence. +#' Matches all resulting sequences against (indexes) target and genome. +#' Adds match counts to GRanges object, and then returns it. +#' @param spacers spacer \code{\link[GenomicRanges]{GRanges-class}} +#' @param targets target \code{\link[GenomicRanges]{GRanges-class}} +#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} +#' @param mismatches number (default 2): max number of mismatches to consider +#' @param outdir dir where output is written to +#' @param pam string (default 'NGG') pam pattern to expand +#' @param verbose TRUE (default) or FALSE +#' @return updated spacer \code{\link[GenomicRanges]{GRanges-class}} +#' @seealso \code{\link{index_genome}}, \code{\link{index_targets}} +#' @examples +#' # TFBS example +#' #------------- +#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 +#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') +#' targets <- extend(bed_to_granges(bedfile, genome = 'mm10')) +#' spacers <- find_spacers(targets, bsgenome) +#' add_target_counts(spacers, targets, bsgenome) +#' @export +add_target_counts <- function( + spacers, targets, bsgenome, mismatches = 2, + pam = 'NGG', outdir = OUTDIR, verbose = TRUE +){ + # Comply + . <- NULL + + # Index targets + targetdir <- target_dir(outdir) + dir.create(targetdir, showWarnings = FALSE, recursive = FALSE) + index_targets(targets, bsgenome, outdir) + + # Match spacers to targets + if (verbose) cmessage('\tAdd target counts') + matches <- match_spacers( + spacers, targetdir, norc = TRUE, + mismatches = mismatches, outdir = outdir, + pam = pam, verbose = verbose) + names(matches) %<>% stringi::stri_replace_first_regex('^MM', 'T') + + # Add counts to spacers + dt <- gr2dt(spacers) %>% + merge(matches, by = 'crisprspacer', sort = FALSE) + + # Organize columns and return + targetvars <- names(dt) %>% extract(stri_startswith_fixed(., 'target')) + crisprvars <- c('crisprname', 'crisprspacer', 'crisprpam', 'crisprext') %>% + intersect(names(dt)) + othervars <- setdiff(names(dt), c(targetvars, crisprvars)) + + dt %>% + extract(, c(targetvars, crisprvars, othervars), with = FALSE) %>% + dt2gr(seqinfo(spacers)) + +} +#' Add genome counts +#' +#' Count spacer matches to genome and add to GRanges +#' +#' Expands iupac amgiguities in the pam sequence. +#' Matches all resulting sequences against (indexes) target and genome. +#' Adds match counts to GRanges object, and then returns it. +#' @param spacers spacer \code{\link[GenomicRanges]{GRanges-class}} +#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} +#' @param mismatches number (default 2): max number of mismatches to consider +#' @param pam string (default 'NGG') pam pattern to expand +#' @param outdir dir where output is written to +#' @param indexedgenomesdir string: dir with indexed genomes +#' @param plot FALSE (default) or TRUE +#' @param verbose TRUE (default) or FALSE +#' @return spacer GRanges with additional mcols +#' @seealso \code{\link{index_genome}}, \code{\link{index_targets}} +#' @examples +#' # PE example +#' #----------- +#' require(magrittr) +#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp +#' HBB = 'chr11:5227002:-', # snp +#' HEXA = 'chr15:72346580-72346583:-', # del +#' CFTR = 'chr7:117559593-117559595:+'), # ins +#' bsgenome) +#' spacers <- find_pe_spacers(gr, bsgenome) +#' # index_genome(bsgenome) +#' # add_genome_counts(spacers, bsgenome, mismatches=0, plot = TRUE) +#' +#' # TFBS example +#' #------------- +#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 +#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') +#' targets <- extend(bed_to_granges(bedfile, genome = 'mm10')) +#' spacers <- find_spacers(targets, bsgenome) +#' # index_genome(bsgenome) +#' # add_genome_counts(spacers, bsgenome) +#' # add_genome_counts(spacers, bsgenome, mismatches=3) +#' @export +add_genome_counts <- function( + spacers, + bsgenome = getBSgenome(genome(spacers)[1]), + mismatches = 2, + pam = 'NGG', + outdir = OUTDIR, + indexedgenomesdir = INDEXEDGENOMESDIR, + plot = FALSE, + verbose = TRUE +){ + . <- NULL + + # Add genome matches + genomedir <- genome_dir(indexedgenomesdir, bsgenome) + if (verbose) message('\tAdd genome counts') + matches <- match_spacers(spacers, genomedir, norc = FALSE, + mismatches = mismatches, + outdir = outdir, pam = pam, verbose = verbose) + names(matches) %<>% stringi::stri_replace_first_regex('^MM', 'G') + dt <- gr2dt(spacers) %>% + merge(matches, by = 'crisprspacer', sort = FALSE) + + # Organize columns and return + targetvars <- names(dt) %>% extract(stri_startswith_fixed(., 'target')) + crisprvars <- c('crisprname', 'crisprspacer', 'crisprpam', 'crisprext') %>% + intersect(names(dt)) + othervars <- setdiff(names(dt), c(targetvars, crisprvars)) + spacers <- dt %>% + extract(, c(targetvars, crisprvars, othervars), with=FALSE) %>% + dt2gr(seqinfo(spacers)) + + # Plot + if (plot){ + grplot <- gr2dt(spacers) %>% + extract(, if(any(.$G0==1)) .SD, by = 'targetname') %>% + dt2gr(seqinfo(spacers)) + p <- plot_intervals(grplot, alpha_var = 'G0') + + ggplot2::scale_alpha(trans = 'reverse', range = c(0.3, 1), + breaks = c(0,1,max(grplot$G0))) + print(p) + } + + # Return + spacers +} + + +#' @export +#' @rdname add_offtargets +add_specificity <- function(...){ + #.Deprecated('add_offtargets') + add_offtargets(...) +} + + +#' Add offtarget counts +#' +#' Add mcols 'off' (offtargets), 'off0' (0-mismatch offtargets), etc. +#' +#' For NULL targets: offtarget counts = (G0- 1) + G1 + ... +#' Non-NULL targets: offtarget counts = (G0-T0) + (G1-T1) + ... +#' +#' @param spacers spacer \code{\link[GenomicRanges]{GRanges-class}} +#' @param targets NULL (default) or target +#' \code{\link[GenomicRanges]{GRanges-class}} +#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} +#' @param mismatches number (default 2): max number of mismatches to consider +#' @param pam string (default 'NGG'): pam sequence +#' @param outdir directory where output is written to +#' @param indexedgenomesdir string: dir with indexed genomes +#' @param plot TRUE (default) or FALSE +#' @param alpha_var string: mapped to alpha in plot +#' @param size_var string: mapped to size in plot +#' @param verbose TRUE (default) or FALSE +#' @param ... to channel deprecated add_specificity to add_offtargets +#' @return filtered spacer \code{\link[GenomicRanges]{GRanges-class}} +#' @examples +#' # PE example +#' #----------- +#' require(magrittr) +#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp +#' HBB = 'chr11:5227002:-', # snp +#' HEXA = 'chr15:72346580-72346583:-', # del +#' CFTR = 'chr7:117559593-117559595:+'), # ins +#' bsgenome) +#' spacers <- find_pe_spacers(gr, bsgenome) +#' # index_genome(bsgenome) +#' # add_offtargets(spacers, bsgenome, mismatches=0) +#' # add_offtargets(spacers, bsgenome, mismatches=2) +#' # TFBS example +#' #------------- +#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 +#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') +#' targets <- extend(bed_to_granges(bedfile, genome = 'mm10')) +#' spacers <- find_spacers(targets, bsgenome) +#' # index_genome(bsgenome) +#' # spacers %>% add_offtargets(bsgenome) # off = G - 1 +#' # spacers %>% add_offtargets(bsgenome, targets) # off = G - T +#' @export +add_offtargets <- function(spacers, bsgenome, targets = NULL, mismatches = 2, + pam = 'NGG', outdir = OUTDIR, indexedgenomesdir = INDEXEDGENOMESDIR, + plot = TRUE, size_var = default_size_var(spacers), alpha_var = 'off', + verbose= TRUE +){ +# First clear + offcols <- c(paste0('G', 0:3), paste0('T', 0:3), paste0('off', 0:3), 'off') + mcols(spacers) %<>% extract(, setdiff(names(.), offcols)) + . <- off <- NULL +# Add genome/target counts + spacers %<>% add_genome_counts( + bsgenome, mismatches = mismatches, outdir = outdir, + indexedgenomesdir = indexedgenomesdir, + pam = pam, verbose = verbose) + if (!is.null(targets)){ + spacers %<>% add_target_counts( + targets, bsgenome, mismatches = mismatches, + outdir = outdir, pam = pam, verbose = verbose) + for (mis in 0:mismatches){ + assert_all_are_true(mcols(spacers)[[paste0('T', mis)]] <= + mcols(spacers)[[paste0('G', mis)]])}} +# Add offtarget counts + digits <- ceiling(log10(length(spacers))) + if (verbose) cmessage('\tCalculate offtargets for %d spacers', + length(spacers)) + spacers$off <- spacers$G0 - (if (is.null(targets)) 1 else spacers$T0) + spacers$off0 <- spacers$off # don't switch order to keep off first + if (mismatches>0){ + for (mis in seq_len(mismatches)){ + Gx <- mcols(spacers)[[paste0('G', mis)]] + Tx <- if (is.null(targets)) 0 else mcols(spacers)[[paste0('T',mis)]] + offcounts <- Gx - Tx + offvar <- paste0('off', mis) + mcols(spacers)[[offvar]] <- offcounts + spacers$off %<>% add(offcounts) + if (verbose) cmessage('\t %s have no %d-mismatch offtargets', + format(sum(mcols(spacers)[[offvar]]==0), width = digits), mis)}} +# Plot and return + if (plot){ + grplot <- gr2dt(spacers) %>% # don't do that - what if no such exist? + #extract(, if(any(off==0)) .SD, by = 'targetname') %>% + dt2gr(seqinfo(spacers)) + p <- plot_intervals( + grplot, alpha_var = 'off', size_var = size_var) + print(p)} + spacers +} + + +#===================================================================== +# Following functions are no longer exported. +# I think better to leave final filtering as an explicit end user step +#===================================================================== + + +# @rdname add_offtargets +# @export +filter_target_specific <- function(...){ + .Deprecated('filter_offtarget_free') + filter_offtarget_free(...) +} + + +# @rdname add_offtargets +# @export +filter_offtarget_free <- function( + spacers, + targets = NULL, + bsgenome = getBSgenome(genome(spacers)[1]), + mismatches = 2, + pam = 'NGG', + outdir = OUTDIR, + indexedgenomesdir = INDEXEDGENOMESDIR, + plot = TRUE, + verbose = TRUE +){ + . <- NULL + # Add specificty info + spacers %<>% add_offtargets( + bsgenome = bsgenome, + targets = targets, + mismatches = mismatches, + pam = pam, + outdir = outdir, + indexedgenomesdir = indexedgenomesdir, + plot = plot, + verbose = verbose) + + # Subset + spacers %<>% subset(.$off==0) + + # Return + return(spacers) +} + + + +# Filter for specific prime editing spacers +# +# Filters spacers which are specific for prime editing site +# +# @param spacers spacer \code{\link[GenomicRanges]{GRanges-class}} +# @param bsgenome \code{\link[BSgenome]{BSgenome-class}} +# @param outdir directory where output is written to +# @param pam string (default 'NGG'): pam sequence +# @param outdir string: dir to which output is written +# @param indexedgenomesdir dir with bowtie-indexed genomes +# @param verbose TRUE (default) or FALSE +# @return filtered spacer \code{\link[GenomicRanges]{GRanges-class}} +# @examples +# # PE example +# #----------- +# require(magrittr) +# bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +# gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp +# HBB = 'chr11:5227002:-', # snp +# HEXA = 'chr15:72346580-72346583:-', # del +# CFTR = 'chr7:117559593-117559595:+'), # ins +# bsgenome) +# spacers <- find_pe_spacers(gr, bsgenome) +# # index_genome(bsgenome) # one time effort - takes few h +# # filter_prime_specific(spacers, bsgenome) +# @export +filter_prime_specific <- function( + spacers, + bsgenome = getBSgenome(genome(spacers)[1]), + pam = 'NGG', + outdir = OUTDIR, + indexedgenomesdir = INDEXEDGENOMESDIR, + verbose = TRUE +){ + # Add genome matches + spacers %<>% add_genome_counts( + bsgenome, mismatches = 1, outdir = outdir, + pam = pam, verbose = verbose) + + # Filter for specificity + digits <- ceiling(log10(length(spacers))) + if (verbose) cmessage('\tFilter %d spacers', length(spacers)) + idx <- spacers$G0==1 + spacers %<>% subset(idx) + if (verbose) cmessage('\t %s G0==1', format(sum(idx), width = digits)) + + # Return + spacers +} + diff --git a/R/08_add_efficiency.R b/R/08_add_efficiency.R index eeaff7e934987dbcf230526240d011abefc63bf9..84e8968f5d39f93e92bb31686f34398df37bc085 100644 --- a/R/08_add_efficiency.R +++ b/R/08_add_efficiency.R @@ -1,263 +1,263 @@ - -#' Add [-4, +3] context -#' -#' Add context for Doench2016 scoring -#' -#' @param spacers \code{\link[GenomicRanges]{GRanges-class}}: spacer ranges -#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} -#' @param verbose logical(1) -#' @return character vector -#' @examples -#' # PE example -#' #----------- -#' require(magrittr) -#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp -#' HBB = 'chr11:5227002:-', # snp -#' HEXA = 'chr15:72346580-72346583:-', # del -#' CFTR = 'chr7:117559593-117559595:+'), # ins -#' bsgenome) -#' spacers <- find_spacers(extend_for_pe(gr), bsgenome, complement=FALSE) -#' (add_context(spacers, bsgenome)) -#' -#' # TFBS example -#' #------------- -#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') -#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 -#' targets <- extend(bed_to_granges(bedfile, 'mm10')) -#' spacers <- find_spacers(targets, bsgenome) -#' (spacers %<>% add_context(bsgenome)) -#' @export -add_context <- function(spacers, bsgenome, verbose = TRUE){ - - # Prevent from stats::start from being used (leads to bug!) - contexts <- extend(spacers, -4, +6) - spacers$crisprcontext <- BSgenome::getSeq( - bsgenome, contexts, as.character = TRUE) - if (verbose) message('\t\tAdd (4-23-3) contextseqs') - spacers -} - - -doench2014 <- function( - contextseqs, - python = NULL, - virtualenv = NULL, - condaenv = NULL, - verbose -){ - - # Assert - assert_is_character(contextseqs) - assert_all_are_true(nchar(contextseqs)==30) - assert_is_a_bool(verbose) - - # Message - if (verbose) message('\t\tScore contextseqs with Doench2014') - - # Read featureWeightMatrix - fwfile <- system.file("extdata/DoenchNBT2014.csv", package = "CRISPRseek") - fwmatrix <- read.csv(fwfile, header = TRUE) - - # Score and return - CRISPRseek::calculategRNAEfficiency(contextseqs, - baseBeforegRNA = 4, - featureWeightMatrix = fwmatrix) %>% - magrittr::extract(, 1) -} - -# Note: mclapply vs. bplapply -# I first used BiocParallel::bplapply(). -# That works great on linux, but it fails on windows. -# support.bioconductor.org/p/92587/ explains likely why -# Windows doensn't allow forking (where a child process inherits parent env) -# Instead bplapply defaults to multithreading. -# In that scenario, the reticulation env is not correctly passed. -# mclapply seems like best choice: fork on linux - execute serially on win -doench2016 <- function( - contextseqs, - chunksize = 10000, - verbose = TRUE -){ - # Assert - is_identical_to_true(reticulate::py_module_available('azimuth')) - assert_is_character(contextseqs) - assert_all_are_true(nchar(contextseqs)==30) - assert_is_a_bool(verbose) - - # Message - if (verbose) message('\t\tScore contextseqs with Doench2016 (azimuth)') - start_time <- Sys.time() - - # Score - azi <- reticulate::import('azimuth.model_comparison', delay_load = TRUE) - nchunks <- ceiling(length(contextseqs) / chunksize) - contextchunks <- split( - contextseqs, ceiling(seq_along(contextseqs)/chunksize)) - txt <- paste0('\t\tRun Doench2016 %d times on %d-seq chunks ', - 'to preserve memory') - cmessage(txt, length(contextchunks), chunksize) - mc.cores <- if (is_windows()) 1 else max(1, parallel::detectCores()-2) - doench2016scores <- unlist(parallel::mclapply(contextchunks, - function(x){ - reticulate::py_suppress_warnings( - azi$predict( reticulate::np_array(x), - aa_cut = NULL, - percent_peptide = NULL, - model = NULL, - model_file = NULL, - pam_audit = TRUE, - length_audit = TRUE, - learn_options_override = NULL))}, - mc.cores = mc.cores)) - - # Return - end_time <- Sys.time() - if (verbose) cmessage('\t\tCompleted in %s', - format(end_time - start_time, digits = 2)) - doench2016scores -} - - -#' Add efficiency scores and filter -#' -#' Add Doench2014 or Doench2016 efficiency scores and filter on them -#' -#' \code{add_efficiency} adds efficiency scores -#' \code{filter_efficiency} adds efficiency scores and filters on them -#' -#' @param spacers \code{\link[GenomicRanges]{GRanges-class}}: spacers -#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} -#' @param method 'Doench2014' (default) or 'Doench2016' -#' (requires non-NULL argument python, virtualenv, or condaenv) -#' @param cutoff value to filter on -#' @param chunksize Doench2016 is executed in chunks of chunksize -#' @param verbose TRUE (default) or FALSE -#' @param plot TRUE (default) or FALSE -#' @param alpha_var NULL or string: var mapped to alpha in plot -#' @param size_var NULL or string: var mapped to size in plot -#' @return numeric vector -#' @examples -#' -#' # Install azimuth -#' #---------------- -#' ## With reticulate -#' # require(reticulate) -#' # conda_create('azienv', c('python=2.7')) -#' # use_condaenv('azienv') -#' # py_install(c('azimuth', 'scikit-learn==0.17.1'), 'azienv', pip = TRUE) -#' -#' ## Directly -#' # conda create --name azienv python=2.7 -#' # conda activate azienv -#' # pip install azimuth -#' # pip install scikit-learn==0.17.1 -#' -#' # PE example -#' #----------- -#' require(magrittr) -#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -#' targets <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp -#' HBB = 'chr11:5227002:-', # snp -#' HEXA = 'chr15:72346580-72346583:-', # del -#' CFTR = 'chr7:117559593-117559595:+'), # ins -#' bsgenome) -#' spacers <- find_pe_spacers(targets, bsgenome) -#' #spacers <- find_spacers(extend_for_pe(gr), bsgenome, complement = FALSE) -#' (spacers %<>% add_efficiency(bsgenome, 'Doench2014')) -#' # reticulate::use_condaenv('azienv') -#' # reticulate::import('azimuth') -#' # spacers %<>% add_efficiency(bsgenome, 'Doench2016') -#' # filter_efficient(spacers, bsgenome, 'Doench2016', 0.4) -#' -#' # TFBS example -#' #------------- -#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') -#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 -#' targets <- extend(bed_to_granges(bedfile, 'mm10')) -#' spacers <- find_spacers(targets, bsgenome) -#' # reticulate::use_condaenv('azienv') -#' # reticulate::import('azienv') -#' # (spacers %<>% add_offtargets(bsgenome, targets)) -#' # (spacers %>% add_efficiency(bsgenome, 'Doench2014')) -#' # (spacers %>% add_efficiency(bsgenome, 'Doench2016')) -#' @references -#' Doench 2014, Rational design of highly active sgRNAs for -#' CRISPR-Cas9-mediated gene inactivation. Nature Biotechnology, -#' doi: 10.1038/nbt.3026 -#' -#' Doench 2016, Optimized sgRNA design to maximize activity and minimize -#' off-target effects of CRISPR-Cas9. Nature Biotechnology, -#' doi: 10.1038/nbt.3437 -#' -#' Python module azimuth: github/MicrosoftResearch/azimuth -#' @export -add_efficiency <- function( - spacers, bsgenome, method= c('Doench2014', 'Doench2016')[1], - chunksize = 10000, verbose = TRUE, plot = TRUE, - alpha_var = default_alpha_var(spacers), size_var = method -){ - # Assert - assert_is_all_of(spacers, 'GRanges') - assert_is_a_string(method) - assert_is_subset(method, c('Doench2014', 'Doench2016')) - if (method %in% names(mcols(spacers))) mcols(spacers)[[method]] <- NULL - - # Add contextseq - if (verbose) cmessage('\tScore crispr spacers') - spacers %<>% add_context(bsgenome, verbose = verbose) - spacerdt <- gr2dt(spacers) - scoredt <- data.table(crisprcontext = unique(spacerdt$crisprcontext)) - - # Score - scores <- switch(method, - Doench2014 = doench2014(scoredt$crisprcontext, verbose=verbose), - Doench2016 = doench2016(scoredt$crisprcontext, chunksize=chunksize, - verbose=verbose)) - scoredt[ , (method) := scores ] - - # Merge back in - mergedt <- merge(spacerdt, scoredt, - by='crisprcontext', sort=FALSE, all.x=TRUE) - spacers <- dt2gr(mergedt, seqinfo = seqinfo(spacers)) - - # Plot - if (plot){ - p <- plot_intervals(spacers, alpha_var = alpha_var, size_var = size_var) - print(p) - } - - # Return - spacers -} - - -#' @rdname add_efficiency -#' @export -filter_efficient <- function( - spacers, - bsgenome, - method= c('Doench2014', 'Doench2016')[1], - cutoff, - verbose = TRUE, - plot = TRUE, - alpha_var = default_alpha_var(spacers) -){ - spacers %<>% add_efficiency( - bsgenome = bsgenome, method = method, - verbose = verbose, plot = plot, alpha_var = alpha_var) - - idx <- mcols(spacers)[[method]] > cutoff - if (verbose){ - width <- nchar(length(idx)) - cmessage('\t\t%s ranges', formatC(length(idx), width = width)) - cmessage('\t\t%s ranges after filtering for %s > %s', - formatC(sum(idx), width = width), method, as.character(cutoff)) - } - - spacers %>% extract(idx) -} - -default_alpha_var <- function(gr){ - if ('off' %in% names(mcols(gr))) 'off' else NULL + +#' Add [-4, +3] context +#' +#' Add context for Doench2016 scoring +#' +#' @param spacers \code{\link[GenomicRanges]{GRanges-class}}: spacer ranges +#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} +#' @param verbose logical(1) +#' @return character vector +#' @examples +#' # PE example +#' #----------- +#' require(magrittr) +#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +#' gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp +#' HBB = 'chr11:5227002:-', # snp +#' HEXA = 'chr15:72346580-72346583:-', # del +#' CFTR = 'chr7:117559593-117559595:+'), # ins +#' bsgenome) +#' spacers <- find_spacers(extend_for_pe(gr), bsgenome, complement=FALSE) +#' (add_context(spacers, bsgenome)) +#' +#' # TFBS example +#' #------------- +#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') +#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 +#' targets <- extend(bed_to_granges(bedfile, 'mm10')) +#' spacers <- find_spacers(targets, bsgenome) +#' (spacers %<>% add_context(bsgenome)) +#' @export +add_context <- function(spacers, bsgenome, verbose = TRUE){ + + # Prevent from stats::start from being used (leads to bug!) + contexts <- extend(spacers, -4, +6) + spacers$crisprcontext <- BSgenome::getSeq( + bsgenome, contexts, as.character = TRUE) + if (verbose) message('\t\tAdd (4-23-3) contextseqs') + spacers +} + + +doench2014 <- function( + contextseqs, + python = NULL, + virtualenv = NULL, + condaenv = NULL, + verbose +){ + + # Assert + assert_is_character(contextseqs) + assert_all_are_true(nchar(contextseqs)==30) + assert_is_a_bool(verbose) + + # Message + if (verbose) message('\t\tScore contextseqs with Doench2014') + + # Read featureWeightMatrix + fwfile <- system.file("extdata/DoenchNBT2014.csv", package = "CRISPRseek") + fwmatrix <- read.csv(fwfile, header = TRUE) + + # Score and return + CRISPRseek::calculategRNAEfficiency(contextseqs, + baseBeforegRNA = 4, + featureWeightMatrix = fwmatrix) %>% + magrittr::extract(, 1) +} + +# Note: mclapply vs. bplapply +# I first used BiocParallel::bplapply(). +# That works great on linux, but it fails on windows. +# support.bioconductor.org/p/92587/ explains likely why +# Windows doensn't allow forking (where a child process inherits parent env) +# Instead bplapply defaults to multithreading. +# In that scenario, the reticulation env is not correctly passed. +# mclapply seems like best choice: fork on linux - execute serially on win +doench2016 <- function( + contextseqs, + chunksize = 10000, + verbose = TRUE +){ + # Assert + is_identical_to_true(reticulate::py_module_available('azimuth')) + assert_is_character(contextseqs) + assert_all_are_true(nchar(contextseqs)==30) + assert_is_a_bool(verbose) + + # Message + if (verbose) message('\t\tScore contextseqs with Doench2016 (azimuth)') + start_time <- Sys.time() + + # Score + azi <- reticulate::import('azimuth.model_comparison', delay_load = TRUE) + nchunks <- ceiling(length(contextseqs) / chunksize) + contextchunks <- split( + contextseqs, ceiling(seq_along(contextseqs)/chunksize)) + txt <- paste0('\t\tRun Doench2016 %d times on %d-seq chunks ', + 'to preserve memory') + cmessage(txt, length(contextchunks), chunksize) + mc.cores <- if (is_windows()) 1 else max(1, parallel::detectCores()-2) + doench2016scores <- unlist(parallel::mclapply(contextchunks, + function(x){ + reticulate::py_suppress_warnings( + azi$predict( reticulate::np_array(x), + aa_cut = NULL, + percent_peptide = NULL, + model = NULL, + model_file = NULL, + pam_audit = TRUE, + length_audit = TRUE, + learn_options_override = NULL))}, + mc.cores = mc.cores)) + + # Return + end_time <- Sys.time() + if (verbose) cmessage('\t\tCompleted in %s', + format(end_time - start_time, digits = 2)) + doench2016scores +} + + +#' Add efficiency scores and filter +#' +#' Add Doench2014 or Doench2016 efficiency scores and filter on them +#' +#' \code{add_efficiency} adds efficiency scores +#' \code{filter_efficiency} adds efficiency scores and filters on them +#' +#' @param spacers \code{\link[GenomicRanges]{GRanges-class}}: spacers +#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} +#' @param method 'Doench2014' (default) or 'Doench2016' +#' (requires non-NULL argument python, virtualenv, or condaenv) +#' @param cutoff value to filter on +#' @param chunksize Doench2016 is executed in chunks of chunksize +#' @param verbose TRUE (default) or FALSE +#' @param plot TRUE (default) or FALSE +#' @param alpha_var NULL or string: var mapped to alpha in plot +#' @param size_var NULL or string: var mapped to size in plot +#' @return numeric vector +#' @examples +#' +#' # Install azimuth +#' #---------------- +#' ## With reticulate +#' # require(reticulate) +#' # conda_create('azienv', c('python=2.7')) +#' # use_condaenv('azienv') +#' # py_install(c('azimuth', 'scikit-learn==0.17.1'), 'azienv', pip = TRUE) +#' +#' ## Directly +#' # conda create --name azienv python=2.7 +#' # conda activate azienv +#' # pip install azimuth +#' # pip install scikit-learn==0.17.1 +#' +#' # PE example +#' #----------- +#' require(magrittr) +#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +#' targets <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp +#' HBB = 'chr11:5227002:-', # snp +#' HEXA = 'chr15:72346580-72346583:-', # del +#' CFTR = 'chr7:117559593-117559595:+'), # ins +#' bsgenome) +#' spacers <- find_pe_spacers(targets, bsgenome) +#' #spacers <- find_spacers(extend_for_pe(gr), bsgenome, complement = FALSE) +#' (spacers %<>% add_efficiency(bsgenome, 'Doench2014')) +#' # reticulate::use_condaenv('azienv') +#' # reticulate::import('azimuth') +#' # spacers %<>% add_efficiency(bsgenome, 'Doench2016') +#' # filter_efficient(spacers, bsgenome, 'Doench2016', 0.4) +#' +#' # TFBS example +#' #------------- +#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') +#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 +#' targets <- extend(bed_to_granges(bedfile, 'mm10')) +#' spacers <- find_spacers(targets, bsgenome) +#' # reticulate::use_condaenv('azienv') +#' # reticulate::import('azienv') +#' # (spacers %<>% add_offtargets(bsgenome, targets)) +#' # (spacers %>% add_efficiency(bsgenome, 'Doench2014')) +#' # (spacers %>% add_efficiency(bsgenome, 'Doench2016')) +#' @references +#' Doench 2014, Rational design of highly active sgRNAs for +#' CRISPR-Cas9-mediated gene inactivation. Nature Biotechnology, +#' doi: 10.1038/nbt.3026 +#' +#' Doench 2016, Optimized sgRNA design to maximize activity and minimize +#' off-target effects of CRISPR-Cas9. Nature Biotechnology, +#' doi: 10.1038/nbt.3437 +#' +#' Python module azimuth: github/MicrosoftResearch/azimuth +#' @export +add_efficiency <- function( + spacers, bsgenome, method= c('Doench2014', 'Doench2016')[1], + chunksize = 10000, verbose = TRUE, plot = TRUE, + alpha_var = default_alpha_var(spacers), size_var = method +){ + # Assert + assert_is_all_of(spacers, 'GRanges') + assert_is_a_string(method) + assert_is_subset(method, c('Doench2014', 'Doench2016')) + if (method %in% names(mcols(spacers))) mcols(spacers)[[method]] <- NULL + + # Add contextseq + if (verbose) cmessage('\tScore crispr spacers') + spacers %<>% add_context(bsgenome, verbose = verbose) + spacerdt <- gr2dt(spacers) + scoredt <- data.table(crisprcontext = unique(spacerdt$crisprcontext)) + + # Score + scores <- switch(method, + Doench2014 = doench2014(scoredt$crisprcontext, verbose=verbose), + Doench2016 = doench2016(scoredt$crisprcontext, chunksize=chunksize, + verbose=verbose)) + scoredt[ , (method) := scores ] + + # Merge back in + mergedt <- merge(spacerdt, scoredt, + by='crisprcontext', sort=FALSE, all.x=TRUE) + spacers <- dt2gr(mergedt, seqinfo = seqinfo(spacers)) + + # Plot + if (plot){ + p <- plot_intervals(spacers, alpha_var = alpha_var, size_var = size_var) + print(p) + } + + # Return + spacers +} + + +#' @rdname add_efficiency +#' @export +filter_efficient <- function( + spacers, + bsgenome, + method= c('Doench2014', 'Doench2016')[1], + cutoff, + verbose = TRUE, + plot = TRUE, + alpha_var = default_alpha_var(spacers) +){ + spacers %<>% add_efficiency( + bsgenome = bsgenome, method = method, + verbose = verbose, plot = plot, alpha_var = alpha_var) + + idx <- mcols(spacers)[[method]] > cutoff + if (verbose){ + width <- nchar(length(idx)) + cmessage('\t\t%s ranges', formatC(length(idx), width = width)) + cmessage('\t\t%s ranges after filtering for %s > %s', + formatC(sum(idx), width = width), method, as.character(cutoff)) + } + + spacers %>% extract(idx) +} + +default_alpha_var <- function(gr){ + if ('off' %in% names(mcols(gr))) 'off' else NULL } \ No newline at end of file diff --git a/README.md b/README.md index fe16b9ce6525e20ad24062b5c2b1b470cbc82014..1eaac084e3c75196adda707b1409a2836ec6cd94 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,19 @@ -<center> <h1> multicrispr </h1> </center> - -[](https://travis-ci.com/bhagwataditya/multicrispr) - -### Installation - - # Install multicrispr - remotes::install_git('https://gitlab.gwdg.de/loosolab/software/multicrispr.git', - repos = BiocManager::repositories()) - # Install azimuth - install.packages('reticulate') - reticulate::conda_create('azienv', c('python=2.7')) - reticulate::use_condaenv('azienv') - reticulate::py_install(c('azimuth', 'scikit-learn==0.17.1'), 'azienv', pip = TRUE) - # Index mm10 and hg38 - BiocManager::install('BSgenome.Mmusculus.UCSC.mm10') - BiocManager::install('BSgenome.Hsapiens.UCSC.hg38') - index_genome(BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10) +<center> <h1> multicrispr </h1> </center> + +[](https://travis-ci.com/bhagwataditya/multicrispr) + +### Installation + + # Install multicrispr + remotes::install_git('https://gitlab.gwdg.de/loosolab/software/multicrispr.git', + repos = BiocManager::repositories()) + # Install azimuth + install.packages('reticulate') + reticulate::conda_create('azienv', c('python=2.7')) + reticulate::use_condaenv('azienv') + reticulate::py_install(c('azimuth', 'scikit-learn==0.17.1'), 'azienv', pip = TRUE) + # Index mm10 and hg38 + BiocManager::install('BSgenome.Mmusculus.UCSC.mm10') + BiocManager::install('BSgenome.Hsapiens.UCSC.hg38') + index_genome(BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10) index_genome(BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38) \ No newline at end of file diff --git a/_pkgdown.yml b/_pkgdown.yml index c2ea3c2c605d8e8cf32f01fd7bb1cce203825505..380d5b4f1e4cd4df5883f4770c47701304a66eea 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -1 +1 @@ -destination: public +destination: public diff --git a/inst/extdata/01_define_targets.png b/inst/extdata/01_define_targets.png index 062db963d5453ee3e985082a798d7c22b532de4b..41b1209e34340effb1040841fa717ce1fd8b0263 100644 Binary files a/inst/extdata/01_define_targets.png and b/inst/extdata/01_define_targets.png differ diff --git a/inst/extdata/02_transform.png b/inst/extdata/02_transform.png index 5db5e3e8b70b6dcd24d5f3067af7e5a57886b899..627a91b0553f3d497033412131e69487677c1ed5 100644 Binary files a/inst/extdata/02_transform.png and b/inst/extdata/02_transform.png differ diff --git a/inst/extdata/03_find.png b/inst/extdata/03_find.png index bfc9e0af82590bb2f3bc5ae56aab7648be91634d..e71a4b9244b8561bfc8b46e07988848a34ace12f 100644 Binary files a/inst/extdata/03_find.png and b/inst/extdata/03_find.png differ diff --git a/inst/extdata/04_offtargets.png b/inst/extdata/04_offtargets.png index 63fdd2f707d370b5b890a602da3c5787ffb4aee8..c89eeff2f3fcc03040c6033ce7c1c65b94182ed4 100644 Binary files a/inst/extdata/04_offtargets.png and b/inst/extdata/04_offtargets.png differ diff --git a/inst/extdata/05_efficiency.png b/inst/extdata/05_efficiency.png index c0002c07c42a6c321d8c2487db28074bd9598cf7..1c4d327c67d31490e8f0055cd9eb5f11a3b2756f 100644 Binary files a/inst/extdata/05_efficiency.png and b/inst/extdata/05_efficiency.png differ diff --git a/inst/extdata/SRF.ensembl b/inst/extdata/SRF.ensembl index bbcd26fc59b1b655213376f73ac335851b0eac5d..bb3858d2605dea7d38bf0eb77f0b04f9b283663b 100644 --- a/inst/extdata/SRF.ensembl +++ b/inst/extdata/SRF.ensembl @@ -1,10 +1,10 @@ -ENSMUSG00000038418 -ENSMUSG00000020564 -ENSMUSG00000052336 -ENSMUSG00000029111 -ENSMUSG00000024544 -ENSMUSG00000074813 -ENSMUSG00000036885 -ENSMUSG00000056536 -ENSMUSG00000055538 -ENSMUSG00000030760 +ENSMUSG00000038418 +ENSMUSG00000020564 +ENSMUSG00000052336 +ENSMUSG00000029111 +ENSMUSG00000024544 +ENSMUSG00000074813 +ENSMUSG00000036885 +ENSMUSG00000056536 +ENSMUSG00000055538 +ENSMUSG00000030760 diff --git a/inst/extdata/SRF.entrez b/inst/extdata/SRF.entrez index 749eba27728155a083b5757b24470a379e7af03e..6d74340929433b7cf6b538cb992991887d2d3288 100644 --- a/inst/extdata/SRF.entrez +++ b/inst/extdata/SRF.entrez @@ -1,10 +1,10 @@ -13653 -380753 -13051 -24116 -52662 -100043424 -622434 -27392 -71918 -66190 +13653 +380753 +13051 +24116 +52662 +100043424 +622434 +27392 +71918 +66190 diff --git a/inst/extdata/pe.png b/inst/extdata/pe.png index 4bc9bb3da80fd432d498ef3d738842f0aa8f0880..3d413015a9933f683bb0d0df5f770057c7bd5b0a 100644 Binary files a/inst/extdata/pe.png and b/inst/extdata/pe.png differ diff --git a/inst/extdata/readme_portrait.png b/inst/extdata/readme_portrait.png index 34a09e1c65feb87d50cd41ed745b67ac07dbaff7..96c4cd26606f3d0afed6487dbbddbdb9189a6021 100644 Binary files a/inst/extdata/readme_portrait.png and b/inst/extdata/readme_portrait.png differ diff --git a/inst/scipts/00_filter_offtargetfree_sites.R b/inst/scipts/00_filter_offtargetfree_sites.R index 0b8a57295b45fd935d5237c7b6f9b24de8a4c9fb..0131c41f73fcd4c4362f14e9b371b11fba4a4259 100644 --- a/inst/scipts/00_filter_offtargetfree_sites.R +++ b/inst/scipts/00_filter_offtargetfree_sites.R @@ -1,276 +1,276 @@ -#============================================================================ - -#' Count target/genome matches -#' @param spacerseqs character vector or -#' \code{\link[Biostrings]{XStringSet-class}} -#' @param targetseqs character vector or -#' \code{\link[Biostrings]{XStringSet-class}} -#' @param pam string (default 'NGG'): sequence following spacerseqs -#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} -#' @param mismatch number: number of allowed mismatches -#' @param include character vector: offtarget analysis chromosomes -#' @param verbose TRUE (default) or FALSE -#' @return numeric(length(spacerseqs)) -#' @examples -#' # PE example -#' #----------- -#' require(magrittr) -#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -#' gr <- GenomicRanges::GRanges( -#' seqnames = c(PRNP = 'chr20:4699600', # snp -#' HBB = 'chr11:5227002', # snp -#' HEXA = 'chr15:72346580-72346583', # del -#' CFTR = 'chr7:117559593-117559595'), # ins -#' strand = c(PRNP = '+', HBB = '-', HEXA = '-', CFTR = '+'), -#' seqinfo = BSgenome::seqinfo(bsgenome)) -#' spacers <- find_spacers(extend_for_pe(gr), bsgenome) -#' spacerseqs <- spacers$spacer -#' # count_genome_matches(spacerseqs, bsgenome, mismatch=0) # 6 mins -#' # count_genome_matches(spacerseqs, bsgenome, mismatch=1) # 32 mins -#' # count_genome_matches(spacerseqs, bsgenome, mismatch=2) -#' # count_genome_matches(spacerseqs, bsgenome, mismatch=3) -#' -#' # TFBS example -#' #------------- -#' require(magrittr) -#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') -#' targets <- extend(bed_to_granges(bedfile, 'mm10')) -#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 -#' spacers <- find_spacers(targets, bsgenome) -#' spacerseqs <- spacers$spacer -#' count_genome_matches(spacerseqs, bsgenome, mismatch = 0, include = 'chrY') -#' -#' # Count matches -#' spacerseqs <- sites$seq[1:10] -#' targetseqs <- targets$seq -#' count_target_matches(spacerseqs, targetseqs, 0) -#' count_genome_matches(spacerseqs, bsgenome, 0, include = 'chrY') -#' @export -count_target_matches <- function( - spacerseqs, - targetseqs, - mismatch, - verbose = TRUE -){ - - # Assert - assert_is_any_of(spacerseqs, c('character', 'XStringSet')) - assert_is_any_of(targetseqs, c('character', 'XStringSet')) - assert_is_a_number(mismatch) - assert_is_subset(mismatch, 0:4) - assert_is_a_bool(verbose) - - # Count - unique_crisprseqs <- unique(spacerseqs) - starttime <- Sys.time() - matches <- rowSums(Biostrings::vcountPDict( - Biostrings::DNAStringSet(unique_crisprseqs), - Biostrings::DNAStringSet(targetseqs), - min.mismatch = mismatch, - max.mismatch = mismatch)) %>% - set_names(unique_crisprseqs) - - # Return - if (verbose) cmessage( '\t\t\tCount %d-mismatch hits in targets: %s', - mismatch, - format(signif(Sys.time() - starttime, 2))) - unname(matches[spacerseqs]) -} - - -#' Convert "included" into "excluded" seqnames -#' -#' @details Convert "included" into "excluded" seqnames. -#' Do this in regex format as required by -#' \code{\link[BSgenome]{BSgenome-utils}}) \code{vcountPDict} and -#' \code{vmatchPDict} -#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} -#' @param include character vector with names of included chromosomes -#' @return character vector -#' @examples -#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -#' include_to_exclude(bsgenome) -#' @export -include_to_exclude <- function( - bsgenome, - include = GenomeInfoDb::standardChromosomes(bsgenome) -){ - assert_is_all_of(bsgenome, 'BSgenome') - assert_is_character(include) - - # needs to be a regex: https://support.bioconductor.org/p/126593/ - sprintf('^%s$', setdiff(seqnames(bsgenome), include)) -} - - explode <- function(x) unlist(strsplit(x, character(0))) - paste_dtcols <- function(x) x [, do.call(paste0, .SD) ] - expand_iupac_ambiguities <- function(x){ - paste_dtcols( - as.data.table( - lapply(Biostrings::IUPAC_CODE_MAP[explode(x)], explode))) - } - - vsprintf <- function(fmt, ..., first_slowest = TRUE){ - . <- NULL - arguments <- list(...) - n <- arguments %>% vapply(length, integer(1)) %>% Reduce(max, .) - argdf <- arguments %>% - (function(x) if (first_slowest) rev(x) else x) %>% - expand.grid() %>% - (function(x) if (first_slowest) x %>% magrittr::extract(, ncol(.):1) else x) - fun <- function(...) sprintf(fmt, ...) - do.call(fun, argdf) - } - - -.match_genome <- function(seqs, bsgenome, exclude, mismatch){ - res <- vcountPDict(seqs, bsgenome, min.mismatch = mismatch, - max.mismatch = mismatch, exclude = exclude) - res %<>% data.table::as.data.table() - counts = res[, .(N = sum(count)), by = index]$N -} - - -.match_genome_slow <- function(seqs, bsgenome, exclude, mismatch){ - # Parallel R-loop equivalent to .match_genome (serial C loops) - # Is slower, more complicated, and more resource-consuming. - # So no longer used. - unlist(BiocParallel::bplapply( - seqs, - function(x, bsgenome, exclude, mismatch){ - sum(BSgenome::vcountPattern( - pattern = Biostrings::DNAString(x), - subject = bsgenome, - min.mismatch = mismatch, - max.mismatch = mismatch, - exclude = exclude)$count)}, - bsgenome = bsgenome, exclude = exclude, mismatch = mismatch)) -} - - -#' @rdname count_target_matches -#' @export -count_genome_matches <- function( - spacerseqs, - bsgenome, - mismatch = 0, - pam = 'NGG', - include = GenomeInfoDb::standardChromosomes(bsgenome), - verbose = TRUE, - joint = FALSE -){ - # Assert - assert_is_any_of(spacerseqs, c('character', 'XStringSet')) - assert_is_a_string(pam) - assert_is_any_of(bsgenome, 'BSgenome') - assert_is_subset(mismatch, 0:4) - assert_is_character(include) - assert_is_a_bool(verbose) - - # Comply - . <- count <- NULL - - # Count - pamseqs <- expand_iupac_ambiguities(pam) - sitedt <- data.table(spacer = rep(spacerseqs, each = length(pamseqs)), - pam = rep(pamseqs, times = length(spacerseqs))) %>% - extract(, crispr := paste0(spacer, pamseqs) ) - seqdt <- data.table(crispr = unique(sitedt$crispr)) - - starttime <- Sys.time() - excl <- include_to_exclude(bsgenome, include) - seqdt[ , nmatches := .match_genome(crispr, bsgenome, excl, mismatch) ] - - # Return - if (verbose) cmessage( '\t\t\tCount %d-mismatch hits in genome : %s', - mismatch, format(signif(Sys.time() - starttime, 2))) - sitedt %>% merge(seqdt, by = 'crispr') %>% - extract(, .(n = sum(nmatches)), by = 'spacer') %>% - extract(spacerseqs, n, on = 'spacer') -} - - -add_seqinfo <- function(gr, bsgenome){ - seqinfo(gr) <- seqinfo(bsgenome) - gr -} - - -#' Filter for offtarget-free crispr sites -#' @param sites \code{\link[GenomicRanges]{GRanges-class}}: crispr sites -#' @param targets \code{\link[GenomicRanges]{GRanges-class}} -#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} -#' @param mismatch number: max number of mismatches to consider -#' @param include character vector: offtarget analysis chromosomes -#' @param plot TRUE (default) or FALSE -#' @param verbose TRUE (default) or FALSE -#' @return \code{\link[GenomicRanges]{GRanges-class}} -#' mcols(GRanges) contains sequences and match counts: -#' matches0 = perfect match counts -#' matches1 = single mismatch counts -#' matches2 = double mismatch counts -#' @examples -#' # Read ranges, extend, and restrict to 'chrY' (to keep example fast) -#' require(magrittr) -#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') -#' targets <- bed_to_granges(bedfile, 'mm10') -#' targets %<>% extend() -#' targets %<>% extract(seqnames(.)=='chrY') -#' -#' # Add seqs and find crispr sites -#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 -#' targets %<>% add_seq(bsgenome) -#' sites <- find_spacers(targets, bsgenome) -#' -#' # Filter for offtarget-free sites -#' filter_offtargetfree_sites( -#' sites, targets, bsgenome, 0, include = 'chrY') -#' @export -filter_offtargetfree_sites <- function(sites, targets, bsgenome, mismatch = 2, - include = standardChromosomes(targets), plot = TRUE, verbose = TRUE){ - - # Assert. Prepare - assert_is_all_of(sites, 'GRanges') - assert_is_all_of(targets, 'GRanges') - assert_is_all_of(bsgenome, 'BSgenome') - assert_is_a_number(mismatch) - assert_is_character(include) - assert_is_subset(include, seqnames(bsgenome)) - assert_is_subset('seq',names(mcols(sites))) - assert_is_subset('seq',names(mcols(targets))) - targetseqs <- targets$seq - crisprseq_dt <- data.table(seq = unique(sites$seq)) - - # Count-store-filter for 0-2 mismatches - if (verbose) message('\tFind crispr seq (mis)matches') - for (mis in 0:mismatch){ - if (verbose) cmessage('\t\twith %d mismatch(es)', mis) - # Count - target_matches <- count_target_matches(crisprseq_dt$seq, - targetseqs, mis, verbose = verbose) - genome_matches <- count_genome_matches(crisprseq_dt$seq, bsgenome, mis, - include = include, verbose = verbose) - # Store - crisprseq_dt [ , (sprintf('matches%d', mis)) := target_matches ] - - # Filter - assert_all_are_false(genome_matches < target_matches) - idx <- genome_matches == target_matches - if (verbose) cmessage('\t\t\tKeep %d/%d offtarget-free crispr seqs', - sum(idx), length(idx), mis) - crisprseq_dt %<>% extract(idx) - } - - # Filter for offtargetfree sites - offtargetfree <- crisprseq_dt %>% - merge(as.data.table(sites), by = 'seq') %>% - as('GRanges') %>% add_seqinfo(bsgenome) - # Plot/Report - if (plot) plot_karyogram(GenomicRanges::GRangesList( - target = targets, cas9 = sites, - offtargetfree = offtargetfree)) - if (verbose) cmessage('\tReturn %d crispr seqs across %d ranges', - length(unique(offtargetfree$seq)), length(offtargetfree)) - # Return - offtargetfree -} +#============================================================================ + +#' Count target/genome matches +#' @param spacerseqs character vector or +#' \code{\link[Biostrings]{XStringSet-class}} +#' @param targetseqs character vector or +#' \code{\link[Biostrings]{XStringSet-class}} +#' @param pam string (default 'NGG'): sequence following spacerseqs +#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} +#' @param mismatch number: number of allowed mismatches +#' @param include character vector: offtarget analysis chromosomes +#' @param verbose TRUE (default) or FALSE +#' @return numeric(length(spacerseqs)) +#' @examples +#' # PE example +#' #----------- +#' require(magrittr) +#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +#' gr <- GenomicRanges::GRanges( +#' seqnames = c(PRNP = 'chr20:4699600', # snp +#' HBB = 'chr11:5227002', # snp +#' HEXA = 'chr15:72346580-72346583', # del +#' CFTR = 'chr7:117559593-117559595'), # ins +#' strand = c(PRNP = '+', HBB = '-', HEXA = '-', CFTR = '+'), +#' seqinfo = BSgenome::seqinfo(bsgenome)) +#' spacers <- find_spacers(extend_for_pe(gr), bsgenome) +#' spacerseqs <- spacers$spacer +#' # count_genome_matches(spacerseqs, bsgenome, mismatch=0) # 6 mins +#' # count_genome_matches(spacerseqs, bsgenome, mismatch=1) # 32 mins +#' # count_genome_matches(spacerseqs, bsgenome, mismatch=2) +#' # count_genome_matches(spacerseqs, bsgenome, mismatch=3) +#' +#' # TFBS example +#' #------------- +#' require(magrittr) +#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') +#' targets <- extend(bed_to_granges(bedfile, 'mm10')) +#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 +#' spacers <- find_spacers(targets, bsgenome) +#' spacerseqs <- spacers$spacer +#' count_genome_matches(spacerseqs, bsgenome, mismatch = 0, include = 'chrY') +#' +#' # Count matches +#' spacerseqs <- sites$seq[1:10] +#' targetseqs <- targets$seq +#' count_target_matches(spacerseqs, targetseqs, 0) +#' count_genome_matches(spacerseqs, bsgenome, 0, include = 'chrY') +#' @export +count_target_matches <- function( + spacerseqs, + targetseqs, + mismatch, + verbose = TRUE +){ + + # Assert + assert_is_any_of(spacerseqs, c('character', 'XStringSet')) + assert_is_any_of(targetseqs, c('character', 'XStringSet')) + assert_is_a_number(mismatch) + assert_is_subset(mismatch, 0:4) + assert_is_a_bool(verbose) + + # Count + unique_crisprseqs <- unique(spacerseqs) + starttime <- Sys.time() + matches <- rowSums(Biostrings::vcountPDict( + Biostrings::DNAStringSet(unique_crisprseqs), + Biostrings::DNAStringSet(targetseqs), + min.mismatch = mismatch, + max.mismatch = mismatch)) %>% + set_names(unique_crisprseqs) + + # Return + if (verbose) cmessage( '\t\t\tCount %d-mismatch hits in targets: %s', + mismatch, + format(signif(Sys.time() - starttime, 2))) + unname(matches[spacerseqs]) +} + + +#' Convert "included" into "excluded" seqnames +#' +#' @details Convert "included" into "excluded" seqnames. +#' Do this in regex format as required by +#' \code{\link[BSgenome]{BSgenome-utils}}) \code{vcountPDict} and +#' \code{vmatchPDict} +#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} +#' @param include character vector with names of included chromosomes +#' @return character vector +#' @examples +#' bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +#' include_to_exclude(bsgenome) +#' @export +include_to_exclude <- function( + bsgenome, + include = GenomeInfoDb::standardChromosomes(bsgenome) +){ + assert_is_all_of(bsgenome, 'BSgenome') + assert_is_character(include) + + # needs to be a regex: https://support.bioconductor.org/p/126593/ + sprintf('^%s$', setdiff(seqnames(bsgenome), include)) +} + + explode <- function(x) unlist(strsplit(x, character(0))) + paste_dtcols <- function(x) x [, do.call(paste0, .SD) ] + expand_iupac_ambiguities <- function(x){ + paste_dtcols( + as.data.table( + lapply(Biostrings::IUPAC_CODE_MAP[explode(x)], explode))) + } + + vsprintf <- function(fmt, ..., first_slowest = TRUE){ + . <- NULL + arguments <- list(...) + n <- arguments %>% vapply(length, integer(1)) %>% Reduce(max, .) + argdf <- arguments %>% + (function(x) if (first_slowest) rev(x) else x) %>% + expand.grid() %>% + (function(x) if (first_slowest) x %>% magrittr::extract(, ncol(.):1) else x) + fun <- function(...) sprintf(fmt, ...) + do.call(fun, argdf) + } + + +.match_genome <- function(seqs, bsgenome, exclude, mismatch){ + res <- vcountPDict(seqs, bsgenome, min.mismatch = mismatch, + max.mismatch = mismatch, exclude = exclude) + res %<>% data.table::as.data.table() + counts = res[, .(N = sum(count)), by = index]$N +} + + +.match_genome_slow <- function(seqs, bsgenome, exclude, mismatch){ + # Parallel R-loop equivalent to .match_genome (serial C loops) + # Is slower, more complicated, and more resource-consuming. + # So no longer used. + unlist(BiocParallel::bplapply( + seqs, + function(x, bsgenome, exclude, mismatch){ + sum(BSgenome::vcountPattern( + pattern = Biostrings::DNAString(x), + subject = bsgenome, + min.mismatch = mismatch, + max.mismatch = mismatch, + exclude = exclude)$count)}, + bsgenome = bsgenome, exclude = exclude, mismatch = mismatch)) +} + + +#' @rdname count_target_matches +#' @export +count_genome_matches <- function( + spacerseqs, + bsgenome, + mismatch = 0, + pam = 'NGG', + include = GenomeInfoDb::standardChromosomes(bsgenome), + verbose = TRUE, + joint = FALSE +){ + # Assert + assert_is_any_of(spacerseqs, c('character', 'XStringSet')) + assert_is_a_string(pam) + assert_is_any_of(bsgenome, 'BSgenome') + assert_is_subset(mismatch, 0:4) + assert_is_character(include) + assert_is_a_bool(verbose) + + # Comply + . <- count <- NULL + + # Count + pamseqs <- expand_iupac_ambiguities(pam) + sitedt <- data.table(spacer = rep(spacerseqs, each = length(pamseqs)), + pam = rep(pamseqs, times = length(spacerseqs))) %>% + extract(, crispr := paste0(spacer, pamseqs) ) + seqdt <- data.table(crispr = unique(sitedt$crispr)) + + starttime <- Sys.time() + excl <- include_to_exclude(bsgenome, include) + seqdt[ , nmatches := .match_genome(crispr, bsgenome, excl, mismatch) ] + + # Return + if (verbose) cmessage( '\t\t\tCount %d-mismatch hits in genome : %s', + mismatch, format(signif(Sys.time() - starttime, 2))) + sitedt %>% merge(seqdt, by = 'crispr') %>% + extract(, .(n = sum(nmatches)), by = 'spacer') %>% + extract(spacerseqs, n, on = 'spacer') +} + + +add_seqinfo <- function(gr, bsgenome){ + seqinfo(gr) <- seqinfo(bsgenome) + gr +} + + +#' Filter for offtarget-free crispr sites +#' @param sites \code{\link[GenomicRanges]{GRanges-class}}: crispr sites +#' @param targets \code{\link[GenomicRanges]{GRanges-class}} +#' @param bsgenome \code{\link[BSgenome]{BSgenome-class}} +#' @param mismatch number: max number of mismatches to consider +#' @param include character vector: offtarget analysis chromosomes +#' @param plot TRUE (default) or FALSE +#' @param verbose TRUE (default) or FALSE +#' @return \code{\link[GenomicRanges]{GRanges-class}} +#' mcols(GRanges) contains sequences and match counts: +#' matches0 = perfect match counts +#' matches1 = single mismatch counts +#' matches2 = double mismatch counts +#' @examples +#' # Read ranges, extend, and restrict to 'chrY' (to keep example fast) +#' require(magrittr) +#' bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') +#' targets <- bed_to_granges(bedfile, 'mm10') +#' targets %<>% extend() +#' targets %<>% extract(seqnames(.)=='chrY') +#' +#' # Add seqs and find crispr sites +#' bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 +#' targets %<>% add_seq(bsgenome) +#' sites <- find_spacers(targets, bsgenome) +#' +#' # Filter for offtarget-free sites +#' filter_offtargetfree_sites( +#' sites, targets, bsgenome, 0, include = 'chrY') +#' @export +filter_offtargetfree_sites <- function(sites, targets, bsgenome, mismatch = 2, + include = standardChromosomes(targets), plot = TRUE, verbose = TRUE){ + + # Assert. Prepare + assert_is_all_of(sites, 'GRanges') + assert_is_all_of(targets, 'GRanges') + assert_is_all_of(bsgenome, 'BSgenome') + assert_is_a_number(mismatch) + assert_is_character(include) + assert_is_subset(include, seqnames(bsgenome)) + assert_is_subset('seq',names(mcols(sites))) + assert_is_subset('seq',names(mcols(targets))) + targetseqs <- targets$seq + crisprseq_dt <- data.table(seq = unique(sites$seq)) + + # Count-store-filter for 0-2 mismatches + if (verbose) message('\tFind crispr seq (mis)matches') + for (mis in 0:mismatch){ + if (verbose) cmessage('\t\twith %d mismatch(es)', mis) + # Count + target_matches <- count_target_matches(crisprseq_dt$seq, + targetseqs, mis, verbose = verbose) + genome_matches <- count_genome_matches(crisprseq_dt$seq, bsgenome, mis, + include = include, verbose = verbose) + # Store + crisprseq_dt [ , (sprintf('matches%d', mis)) := target_matches ] + + # Filter + assert_all_are_false(genome_matches < target_matches) + idx <- genome_matches == target_matches + if (verbose) cmessage('\t\t\tKeep %d/%d offtarget-free crispr seqs', + sum(idx), length(idx), mis) + crisprseq_dt %<>% extract(idx) + } + + # Filter for offtargetfree sites + offtargetfree <- crisprseq_dt %>% + merge(as.data.table(sites), by = 'seq') %>% + as('GRanges') %>% add_seqinfo(bsgenome) + # Plot/Report + if (plot) plot_karyogram(GenomicRanges::GRangesList( + target = targets, cas9 = sites, + offtargetfree = offtargetfree)) + if (verbose) cmessage('\tReturn %d crispr seqs across %d ranges', + length(unique(offtargetfree$seq)), length(offtargetfree)) + # Return + offtargetfree +} diff --git a/inst/scipts/01_annotationhub_resources.R b/inst/scipts/01_annotationhub_resources.R index da890966ff486f796f6ef8b70aaf1135c43fcd1a..3577648b99a4b3e984ea87071f8e5e183e6e337d 100644 --- a/inst/scipts/01_annotationhub_resources.R +++ b/inst/scipts/01_annotationhub_resources.R @@ -1,44 +1,44 @@ -# Annotation Mus musculus -require(AnnotationHub) -ah <- AnnotationHub() -names(ah)[1:10] -ah <- query(ah, 'Mus musculus') -ah <- query(ah, 'Homo sapiens') -table(ah$dataprovider) - -# UCSC -ucsc <- ah[ah$dataprovider=='UCSC'] # UCSC -table(ucsc$rdataclass) #----- - granges <- query(ucsc, 'GRanges') # 173 GRanges with UCSC tracks - table(granges$sourcetype) - - txdbs <- query(ucsc, 'TxDb') # 5 TxDb G/T/P models - table(txdbs) # mm9/10 - - twobitfiles <- query(ucsc, 'twoBitFile') # 4 TwoBitFiles seqs - twobitfiles # mm7, 8, 9, 10 - -# NCBI # NCBI -ncbi <- query(ah, 'NCBI') #----- - # 1 org.Mm.eg.db with gene annotations - -# Ensembl -ensembl <- ah[ah$dataprovider == 'Ensembl'] -table(ensembl$rdataclass) # Ensembl - #--------- - ensdbs <- query(ensembl, 'EnsDb') # 12 EnsDb: 87->98 - ensdbs$title - - twobitfiles <- query(ensembl, 'twoBitFile') # 815 TwoBitFile seqs - sort(table(twobitfiles$genome), decreasing=TRUE) - - twobitfiles <- query(twobitfiles,'GRCm38') # 75 GRCm38 (others: BALB_cJ_v1, C3H_HeJ_v1, ...) - data.frame(names(twobitfiles)[order(twobitfiles$title)], twobitfiles$title[order(twobitfiles$title)]) - twobitfiles['AH49772'] # Lots of data redundancy due to periodic automated builds - twobitfiles['AH50117'] # https://support.bioconductor.org/p/125690 - table(twobitfiles$title) # cdna, dna(_r|sm), ncrna - - granges <- query(ensembl, 'GRanges') # 556 GRanges GTFs - granges[1] - sort(granges$title) - +# Annotation Mus musculus +require(AnnotationHub) +ah <- AnnotationHub() +names(ah)[1:10] +ah <- query(ah, 'Mus musculus') +ah <- query(ah, 'Homo sapiens') +table(ah$dataprovider) + +# UCSC +ucsc <- ah[ah$dataprovider=='UCSC'] # UCSC +table(ucsc$rdataclass) #----- + granges <- query(ucsc, 'GRanges') # 173 GRanges with UCSC tracks + table(granges$sourcetype) + + txdbs <- query(ucsc, 'TxDb') # 5 TxDb G/T/P models + table(txdbs) # mm9/10 + + twobitfiles <- query(ucsc, 'twoBitFile') # 4 TwoBitFiles seqs + twobitfiles # mm7, 8, 9, 10 + +# NCBI # NCBI +ncbi <- query(ah, 'NCBI') #----- + # 1 org.Mm.eg.db with gene annotations + +# Ensembl +ensembl <- ah[ah$dataprovider == 'Ensembl'] +table(ensembl$rdataclass) # Ensembl + #--------- + ensdbs <- query(ensembl, 'EnsDb') # 12 EnsDb: 87->98 + ensdbs$title + + twobitfiles <- query(ensembl, 'twoBitFile') # 815 TwoBitFile seqs + sort(table(twobitfiles$genome), decreasing=TRUE) + + twobitfiles <- query(twobitfiles,'GRCm38') # 75 GRCm38 (others: BALB_cJ_v1, C3H_HeJ_v1, ...) + data.frame(names(twobitfiles)[order(twobitfiles$title)], twobitfiles$title[order(twobitfiles$title)]) + twobitfiles['AH49772'] # Lots of data redundancy due to periodic automated builds + twobitfiles['AH50117'] # https://support.bioconductor.org/p/125690 + table(twobitfiles$title) # cdna, dna(_r|sm), ncrna + + granges <- query(ensembl, 'GRanges') # 556 GRanges GTFs + granges[1] + sort(granges$title) + diff --git a/inst/scipts/02_pe_clinvar.R b/inst/scipts/02_pe_clinvar.R index 9bb62ce93c616aad31aa51729269c55b044d2719..89cd29bdf18ffd6ad020ed88596a1ea933b9cd92 100644 --- a/inst/scipts/02_pe_clinvar.R +++ b/inst/scipts/02_pe_clinvar.R @@ -1,101 +1,101 @@ -#============================================================================= -# Clinvar is available in VCF (highly formalized) and HGVS (less formalized). -# The VCF format is highly formalized and well suited for programming, -# The HGVS format is ambiguous and not well suited for programming -#============================================================================= - - -# Clinvar in VCF (preferred) -#--------------------------- -devtools::load_all() -localfile <- paste0('~/.multicrispr/clinvar.vcf') -if (!file.exists(localfile)){ - utils::download.file( - url = 'ftp://ftp.ncbi.nlm.nih.gov/pub/clinvar/vcf_GRCh38/clinvar.vcf.gz', - destfile = paste0(localfile, '.gz')) -} -bsgenome <- BSgenome.Hsapiens.NCBI.GRCh38::BSgenome.Hsapiens.NCBI.GRCh38 -#vcf <- VariantAnnotation::readVcf('~/.multicrispr/clinvar.vcf') -vr <- VariantAnnotation::readVcfAsVRanges('~/.multicrispr/clinvar.vcf') -vr %<>% extract(as.character(seqnames(vr)) %in% seqlevels(bsgenome)) -seqlevels(vr) <- seqlevelsInUse(vr) -seqinfo(vr) <- seqinfo(bsgenome)[seqlevels(vr)] -vr -show_sample <- function(clnvc, i=1){ - smallvr <- vr[vr$CLNVC == clnvc][i] - mcols(smallvr) <- NULL - print(smallvr) - BSgenome::getSeq(bsgenome, smallvr) -} -sort(table(vr$CLNVC)) -show_sample('single_nucleotide_variant') # 443 238 -show_sample('Deletion') # 31 472 -show_sample('Duplication') # 14 156 -show_sample('Microsatellite') # 8 506 -show_sample('Indel') # 3 923 -show_sample('Insertion') # 2 944 -show_sample('Inversion') # 226 -show_sample('copy_number_loss') # 13 -show_sample('Variation') # 6 -show_sample('copy_number_gain') # 2 - -# ClinVar in HGVS (not well suited for programming) -#-------------------------------------------------- -localfile <- '~/.multicrispr/variant_summary.txt.gz' -if (!file.exists(localfile)){ - utils::download.file( - url = paste0( - 'ftp://ftp.ncbi.nlm.nih.gov/pub/clinvar/tab_delimited/', - 'variant_summary.txt.gz'), - destfile = localfile) -} -clinvar <- data.table::fread(localfile) -clinvar %<>% extract(Assembly=='GRCh38') # 523 K -clinvar %<>% extract(OriginSimple == 'germline') # 481 K -clinvar[, sort(table(ClinicalSignificance))] -clinvar %<>% extract(ClinicalSignificance == 'Pathogenic') # 64 K -clinvar[, c('Assembly', - 'ClinicalSignificance', 'ClinSigSimple', - 'Origin', 'OriginSimple', - 'PhenotypeIDS', 'VariationID', 'SubmitterCategories', 'OtherIDs', - 'Guidelines', 'TestedInGTR', 'LastEvaluated', - 'RCVaccession', 'HGNC_ID', 'RS# (dbSNP)', - 'nsv/esv (dbVar)', 'ChromosomeAccession') := NULL ] -clinvar[, sort(table(Type))] -clinvar[, sort(table(ReviewStatus))] -clinvar[, length(unique(GeneID))] # 3 790 genes -clinvar[, .(nalleles = .N), by = 'GeneID'][, .(freq = .N), by = nalleles][order(freq)] -clinvar %<>% extract(Stop - Start) - -firstrecord <- function(dt, itype, igene=1){ - dt %>% - extract(Type==names(rev(sort(table(Type))))[itype]) %>% - extract(GeneSymbol==unique(GeneSymbol)[igene]) %>% - extract(1) -} -getSeq <- function(dt) dt %>% - extract(, BSgenome::getSeq( - bsgenome, - paste0('chr', Chromosome), Start, Stop)) -clinvar[, sort(table(Type))] -firstrecord(clinvar, 1) # 8 335 snvs -firstrecord(clinvar, 1) %>% getSeq() -firstrecord(clinvar, 2) # 1 950 indels -firstrecord(clinvar, 2, 2) -firstrecord(clinvar, 2, 2) %>% getSeq() -firstrecord(clinvar, 3) # 1 604 deletions -firstrecord(clinvar, 3) %>% getSeq() -firstrecord(clinvar, 4, 3) # 1 503 duplications -firstrecord(clinvar, 4, 3) %>% getSeq() -firstrecord(clinvar, 5) # 377 insertions -firstrecord(clinvar, 5) %>% getSeq() - - - -clinvar[Type==names(rev(sort(table(Type))))[1]][GeneSymbol==unique(GeneSymbol)[1]][1] - -clinvar[Type==names(rev(sort(table(Type))))[2]][GeneSymbol==unique(GeneSymbol)[1]][1] - -clinvar -clinvar[Type=='deletion'] -cli +#============================================================================= +# Clinvar is available in VCF (highly formalized) and HGVS (less formalized). +# The VCF format is highly formalized and well suited for programming, +# The HGVS format is ambiguous and not well suited for programming +#============================================================================= + + +# Clinvar in VCF (preferred) +#--------------------------- +devtools::load_all() +localfile <- paste0('~/.multicrispr/clinvar.vcf') +if (!file.exists(localfile)){ + utils::download.file( + url = 'ftp://ftp.ncbi.nlm.nih.gov/pub/clinvar/vcf_GRCh38/clinvar.vcf.gz', + destfile = paste0(localfile, '.gz')) +} +bsgenome <- BSgenome.Hsapiens.NCBI.GRCh38::BSgenome.Hsapiens.NCBI.GRCh38 +#vcf <- VariantAnnotation::readVcf('~/.multicrispr/clinvar.vcf') +vr <- VariantAnnotation::readVcfAsVRanges('~/.multicrispr/clinvar.vcf') +vr %<>% extract(as.character(seqnames(vr)) %in% seqlevels(bsgenome)) +seqlevels(vr) <- seqlevelsInUse(vr) +seqinfo(vr) <- seqinfo(bsgenome)[seqlevels(vr)] +vr +show_sample <- function(clnvc, i=1){ + smallvr <- vr[vr$CLNVC == clnvc][i] + mcols(smallvr) <- NULL + print(smallvr) + BSgenome::getSeq(bsgenome, smallvr) +} +sort(table(vr$CLNVC)) +show_sample('single_nucleotide_variant') # 443 238 +show_sample('Deletion') # 31 472 +show_sample('Duplication') # 14 156 +show_sample('Microsatellite') # 8 506 +show_sample('Indel') # 3 923 +show_sample('Insertion') # 2 944 +show_sample('Inversion') # 226 +show_sample('copy_number_loss') # 13 +show_sample('Variation') # 6 +show_sample('copy_number_gain') # 2 + +# ClinVar in HGVS (not well suited for programming) +#-------------------------------------------------- +localfile <- '~/.multicrispr/variant_summary.txt.gz' +if (!file.exists(localfile)){ + utils::download.file( + url = paste0( + 'ftp://ftp.ncbi.nlm.nih.gov/pub/clinvar/tab_delimited/', + 'variant_summary.txt.gz'), + destfile = localfile) +} +clinvar <- data.table::fread(localfile) +clinvar %<>% extract(Assembly=='GRCh38') # 523 K +clinvar %<>% extract(OriginSimple == 'germline') # 481 K +clinvar[, sort(table(ClinicalSignificance))] +clinvar %<>% extract(ClinicalSignificance == 'Pathogenic') # 64 K +clinvar[, c('Assembly', + 'ClinicalSignificance', 'ClinSigSimple', + 'Origin', 'OriginSimple', + 'PhenotypeIDS', 'VariationID', 'SubmitterCategories', 'OtherIDs', + 'Guidelines', 'TestedInGTR', 'LastEvaluated', + 'RCVaccession', 'HGNC_ID', 'RS# (dbSNP)', + 'nsv/esv (dbVar)', 'ChromosomeAccession') := NULL ] +clinvar[, sort(table(Type))] +clinvar[, sort(table(ReviewStatus))] +clinvar[, length(unique(GeneID))] # 3 790 genes +clinvar[, .(nalleles = .N), by = 'GeneID'][, .(freq = .N), by = nalleles][order(freq)] +clinvar %<>% extract(Stop - Start) + +firstrecord <- function(dt, itype, igene=1){ + dt %>% + extract(Type==names(rev(sort(table(Type))))[itype]) %>% + extract(GeneSymbol==unique(GeneSymbol)[igene]) %>% + extract(1) +} +getSeq <- function(dt) dt %>% + extract(, BSgenome::getSeq( + bsgenome, + paste0('chr', Chromosome), Start, Stop)) +clinvar[, sort(table(Type))] +firstrecord(clinvar, 1) # 8 335 snvs +firstrecord(clinvar, 1) %>% getSeq() +firstrecord(clinvar, 2) # 1 950 indels +firstrecord(clinvar, 2, 2) +firstrecord(clinvar, 2, 2) %>% getSeq() +firstrecord(clinvar, 3) # 1 604 deletions +firstrecord(clinvar, 3) %>% getSeq() +firstrecord(clinvar, 4, 3) # 1 503 duplications +firstrecord(clinvar, 4, 3) %>% getSeq() +firstrecord(clinvar, 5) # 377 insertions +firstrecord(clinvar, 5) %>% getSeq() + + + +clinvar[Type==names(rev(sort(table(Type))))[1]][GeneSymbol==unique(GeneSymbol)[1]][1] + +clinvar[Type==names(rev(sort(table(Type))))[2]][GeneSymbol==unique(GeneSymbol)[1]][1] + +clinvar +clinvar[Type=='deletion'] +cli diff --git a/inst/scipts/02_pe_coords_cftr.R b/inst/scipts/02_pe_coords_cftr.R index 3f08fc739b504f984a4c6de96cd91aa60c460a3e..73109f6a094f07ef51a2d895eae139ff7b497f39 100644 --- a/inst/scipts/02_pe_coords_cftr.R +++ b/inst/scipts/02_pe_coords_cftr.R @@ -1,34 +1,34 @@ -# Load functions - require(magrittr) - require(multicrispr) - filter <- ensembldb::filter - UniprotMappingTypeFilter <- ensembldb::UniprotMappingTypeFilter - UniprotDbFilter <- ensembldb::UniprotDbFilter - - -# Map identifiers: CFTR - ensdb <- multicrispr::EnsDb.Hsapiens.v98() - ensdb %<>% filter(UniprotMappingTypeFilter('DIRECT', condition = "==")) - ensdb %<>% filter(UniprotDbFilter('SWISSPROT', condition = "==")) - ensembldb::columns(ensdb) - mycolumns <- c( - 'UNIPROTID', 'PROTEINID', 'TXID', - 'SEQCOORDSYSTEM', 'SEQNAME', 'SEQSTRAND', - 'GENESEQSTART', 'GENESEQEND', - 'TXSEQSTART', 'TXSEQEND', 'TXCDSSEQSTART', 'TXCDSSEQEND', - 'PROTEINSEQUENCE') - cftr <- ensembldb::select(ensdb, 'CFTR', mycolumns, 'SYMBOL') - cftr # Two transcripts - # Two distinct proteins - # ENSP00000003084 gold labeled - ensp <- 'ENSP00000003084' - cftr %<>% extract(.$PROTEINID == ensp, ) - cftr$PROTEINSEQUENCE %>% substr(507, 509) # DELTA F 508 - gr <- ensembldb::proteinToGenome( - IRanges::IRanges(start=508, end=508) %>% set_names(ensp), - ensdb) %>% - extract2(ensp) %>% - (function(y){seqlevelsStyle(y) <- 'UCSC'; y}) - bs <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 - BSgenome::getSeq( - bs, seqnames(gr), start = start(gr), end = end(gr), strand = '+') +# Load functions + require(magrittr) + require(multicrispr) + filter <- ensembldb::filter + UniprotMappingTypeFilter <- ensembldb::UniprotMappingTypeFilter + UniprotDbFilter <- ensembldb::UniprotDbFilter + + +# Map identifiers: CFTR + ensdb <- multicrispr::EnsDb.Hsapiens.v98() + ensdb %<>% filter(UniprotMappingTypeFilter('DIRECT', condition = "==")) + ensdb %<>% filter(UniprotDbFilter('SWISSPROT', condition = "==")) + ensembldb::columns(ensdb) + mycolumns <- c( + 'UNIPROTID', 'PROTEINID', 'TXID', + 'SEQCOORDSYSTEM', 'SEQNAME', 'SEQSTRAND', + 'GENESEQSTART', 'GENESEQEND', + 'TXSEQSTART', 'TXSEQEND', 'TXCDSSEQSTART', 'TXCDSSEQEND', + 'PROTEINSEQUENCE') + cftr <- ensembldb::select(ensdb, 'CFTR', mycolumns, 'SYMBOL') + cftr # Two transcripts + # Two distinct proteins + # ENSP00000003084 gold labeled + ensp <- 'ENSP00000003084' + cftr %<>% extract(.$PROTEINID == ensp, ) + cftr$PROTEINSEQUENCE %>% substr(507, 509) # DELTA F 508 + gr <- ensembldb::proteinToGenome( + IRanges::IRanges(start=508, end=508) %>% set_names(ensp), + ensdb) %>% + extract2(ensp) %>% + (function(y){seqlevelsStyle(y) <- 'UCSC'; y}) + bs <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 + BSgenome::getSeq( + bs, seqnames(gr), start = start(gr), end = end(gr), strand = '+') diff --git a/inst/scipts/02_pe_coords_hbb.R b/inst/scipts/02_pe_coords_hbb.R index 3e714ac97019565c60dc506dffa48b7d5f3e0240..604e79bd6101fafe9c05dd87ada4279cde48601a 100644 --- a/inst/scipts/02_pe_coords_hbb.R +++ b/inst/scipts/02_pe_coords_hbb.R @@ -1,104 +1,104 @@ -#------------------------------------------------------------------------ -# Protein coordinates -> Genomic coordinates -# HBB: E6V : GGC>GTC : chr20:4699600 -#------------------------------------------------------------------------ - -# Load - require(magrittr) - require(multicrispr) - filter <- ensembldb::filter - UniprotMappingTypeFilter <- ensembldb::UniprotMappingTypeFilter - UniprotDbFilter <- ensembldb::UniprotDbFilter - - bs <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 - ensdb <- multicrispr::EnsDb.Hsapiens.v98() - ensdb %<>% filter(UniprotMappingTypeFilter('DIRECT', condition = "==")) - ensdb %<>% filter(UniprotDbFilter( 'SWISSPROT', condition = "==")) - -# Map identifiers: HBB -> ENST00000335295 - ensembldb::columns(ensdb) - mycolumns <- c( - 'UNIPROTID', 'PROTEINID', 'TXID', - 'SEQCOORDSYSTEM', 'SEQNAME', 'SEQSTRAND', - 'GENESEQSTART', 'GENESEQEND', - 'TXSEQSTART', 'TXSEQEND', 'TXCDSSEQSTART', 'TXCDSSEQEND', - 'PROTEINSEQUENCE') - hbb <- ensembldb::select(ensdb, 'HBB', mycolumns, 'SYMBOL') - # Two transcript isoforms: ENST00000335295 & ENST00000647020 - # Translate into single proteform, differences are in 3'UTR - # Both are gold labeled in ensembl browser, T*95 has a RefSeq match - # Let's use ENST00000335295, since it has a RefSeq match - # (For genomic mapping it actually doesnt matter) - hbb %<>% extract(.$TXID=='ENST00000335295', ) - -# Map coordinates: E6V -> GAG (codes for E) -> chr11:5227002 - ensp <- 'ENSP00000333994' - substr(hbb$PROTEINSEQUENCE[1], 1, 7) - # It's E7, not E6 - # Reason: initiator Methionine is cleaved off! - # Mature protein doesn't contain it. - # However, Uniprot Sequence does contain it! - gr <- ensembldb::proteinToGenome( - IRanges::IRanges(start=7, end=7) %>% set_names(ensp), - ensdb) %>% - extract2(ensp) %>% - (function(y){seqlevelsStyle(y) <- 'UCSC'; y}) - BSgenome::getSeq( - bs, seqnames(gr), start = start(gr), end = end(gr), strand = '-') - gr - -# Explore environment around this locus -bsgenome <- BSgenome.Hsapiens.UCSC.hg38.masked::BSgenome.Hsapiens.UCSC.hg38.masked -bsinfo <- seqinfo(bsgenome) -(fwd <- BSgenome::getSeq(bsgenome, names = 'chr11', start = 5227002-50, end = 5227002+50, strand = '+')) -(rev <- Biostrings::complement(fwd)) - -# Anzalone et al. (2019): two prime editing sites allowed fixing -# Retrieve sequences (pegspacer, pegext, and nickspacer) to reconstruct precision engineering topology - # excl needs to be a regex - https://support.bioconductor.org/p/126593/#126606 - excl <- seqnames(bsgenome) %>% setdiff('chr11') %>% paste0('^', ., '$') - - # 3.5 - (pegspacer3.5 <- BSgenome::vmatchPattern('GTAACGGCAGACTTCTCCAC', bsgenome, min.mismatch = 0, max.mismatch = 2, exclude = excl)) - (pegext3.5 <- BSgenome::vmatchPattern('ACCTGACTCCTGAGGAGAAGTCTGCC', bsgenome, min.mismatch = 0, max.mismatch = 2, exclude = excl)) - (nickspacer3.5 <- BSgenome::vmatchPattern('GGGCTGGGCATAAAAGTCA', bsgenome, min.mismatch = 0, max.mismatch = 2, exclude = excl)) - - # 3.7 - (pegspacer3.7 <- BSgenome::vmatchPattern('GCATGGTGCACCTGACTCCTG', bsgenome, min.mismatch = 0, max.mismatch = 2, exclude = excl)) - (pegext3.7 <- BSgenome::vmatchPattern('AGACTTCTCCTCAGGAGTCAGGTGCAC', bsgenome, min.mismatch = 0, max.mismatch = 2, exclude = excl)) - (nickspacer3.7 <- BSgenome::vmatchPattern('GCCTTGATACCAACCTGCCCA', bsgenome, min.mismatch = 0, max.mismatch = 2, exclude = excl)) - -# Reconstruct prime editing topology -# Note: GG is on the non-targeted strand -# H840A nickase used, which cleaves non-target strand. -# primer f RT -# bindingsite i template -# x C -# 3' CCGTCTGAAGAGGaGTCCTCAGTCTA 5'<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< -# :::::::::::: ^ 3' nicking spacer 5' -# GGCAGACTTCTC ^ ACTGAAAATACGGGTCGGGAC -# GTAAC CaC ^ -# 3.5 5' CTTCATCCACGTTCACCTTGCCCCACAGGGCA AGGAGTCAGATGCACCATGGTGTCTGTTTGAGGTTGCTAGTGAACACAG... ^ ...GCCCTGACTTTTATGCCCAGCCCTG 3' -# 3' GAAGTAGGTGCAAGTGGAACGGGGTGTCCCGT TCCTCAGTCTACGTGGTACCACAGACAAACTCCAACGATCACTTGTGTC... ^ ...CGGGACTGAAAATACGGGTCGGGAC 5' -# CATTGCCGTCTGAAGAGGtG ^ -# :::::::::::::::::::: ^ 5227089 5227111 -# 5' GTAACGGCAGACTTCTCCaC >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -# -# pegRNAspacer -# -# -# pegRNAspacer -# pegRNA C G -# 3.7 V<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 3' GTCCTCAGTCTACGTGGTACC 5' -# V -# V CAGGAGTCAGATGCACCATGG -# 5' ACCTTGATACCAACCTGCCCACCCG... V ..CTTCATCCACGTTCACCTTGCCCCACAGGGCAGTAACGGCAGACTTCTCCa TGTCTGTTTGAGGTTGCTAGTGAACACAG 3' -# 3' TGGAACTATGGTTGGACGGGTGGGC... V ..GAAGTAGGTGCAAGTGGAACGGGGTGTCCCGTCATTGCCGTCTGAAGAGGt ACAGACAAACTCCAACGATCACTTGTGTC 5' -# V GTC GTACC -# 5' ACCTTGATACCAACCTGCCCACCCG 3' V CTCAGTCTACGTG -# G V -# nickingspacer >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 5' AGACTTCTCCaCAGGAGTCAGGTGCAC 3' -# f -# RT i primer -# template x bindingsite -# +#------------------------------------------------------------------------ +# Protein coordinates -> Genomic coordinates +# HBB: E6V : GGC>GTC : chr20:4699600 +#------------------------------------------------------------------------ + +# Load + require(magrittr) + require(multicrispr) + filter <- ensembldb::filter + UniprotMappingTypeFilter <- ensembldb::UniprotMappingTypeFilter + UniprotDbFilter <- ensembldb::UniprotDbFilter + + bs <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 + ensdb <- multicrispr::EnsDb.Hsapiens.v98() + ensdb %<>% filter(UniprotMappingTypeFilter('DIRECT', condition = "==")) + ensdb %<>% filter(UniprotDbFilter( 'SWISSPROT', condition = "==")) + +# Map identifiers: HBB -> ENST00000335295 + ensembldb::columns(ensdb) + mycolumns <- c( + 'UNIPROTID', 'PROTEINID', 'TXID', + 'SEQCOORDSYSTEM', 'SEQNAME', 'SEQSTRAND', + 'GENESEQSTART', 'GENESEQEND', + 'TXSEQSTART', 'TXSEQEND', 'TXCDSSEQSTART', 'TXCDSSEQEND', + 'PROTEINSEQUENCE') + hbb <- ensembldb::select(ensdb, 'HBB', mycolumns, 'SYMBOL') + # Two transcript isoforms: ENST00000335295 & ENST00000647020 + # Translate into single proteform, differences are in 3'UTR + # Both are gold labeled in ensembl browser, T*95 has a RefSeq match + # Let's use ENST00000335295, since it has a RefSeq match + # (For genomic mapping it actually doesnt matter) + hbb %<>% extract(.$TXID=='ENST00000335295', ) + +# Map coordinates: E6V -> GAG (codes for E) -> chr11:5227002 + ensp <- 'ENSP00000333994' + substr(hbb$PROTEINSEQUENCE[1], 1, 7) + # It's E7, not E6 + # Reason: initiator Methionine is cleaved off! + # Mature protein doesn't contain it. + # However, Uniprot Sequence does contain it! + gr <- ensembldb::proteinToGenome( + IRanges::IRanges(start=7, end=7) %>% set_names(ensp), + ensdb) %>% + extract2(ensp) %>% + (function(y){seqlevelsStyle(y) <- 'UCSC'; y}) + BSgenome::getSeq( + bs, seqnames(gr), start = start(gr), end = end(gr), strand = '-') + gr + +# Explore environment around this locus +bsgenome <- BSgenome.Hsapiens.UCSC.hg38.masked::BSgenome.Hsapiens.UCSC.hg38.masked +bsinfo <- seqinfo(bsgenome) +(fwd <- BSgenome::getSeq(bsgenome, names = 'chr11', start = 5227002-50, end = 5227002+50, strand = '+')) +(rev <- Biostrings::complement(fwd)) + +# Anzalone et al. (2019): two prime editing sites allowed fixing +# Retrieve sequences (pegspacer, pegext, and nickspacer) to reconstruct precision engineering topology + # excl needs to be a regex - https://support.bioconductor.org/p/126593/#126606 + excl <- seqnames(bsgenome) %>% setdiff('chr11') %>% paste0('^', ., '$') + + # 3.5 + (pegspacer3.5 <- BSgenome::vmatchPattern('GTAACGGCAGACTTCTCCAC', bsgenome, min.mismatch = 0, max.mismatch = 2, exclude = excl)) + (pegext3.5 <- BSgenome::vmatchPattern('ACCTGACTCCTGAGGAGAAGTCTGCC', bsgenome, min.mismatch = 0, max.mismatch = 2, exclude = excl)) + (nickspacer3.5 <- BSgenome::vmatchPattern('GGGCTGGGCATAAAAGTCA', bsgenome, min.mismatch = 0, max.mismatch = 2, exclude = excl)) + + # 3.7 + (pegspacer3.7 <- BSgenome::vmatchPattern('GCATGGTGCACCTGACTCCTG', bsgenome, min.mismatch = 0, max.mismatch = 2, exclude = excl)) + (pegext3.7 <- BSgenome::vmatchPattern('AGACTTCTCCTCAGGAGTCAGGTGCAC', bsgenome, min.mismatch = 0, max.mismatch = 2, exclude = excl)) + (nickspacer3.7 <- BSgenome::vmatchPattern('GCCTTGATACCAACCTGCCCA', bsgenome, min.mismatch = 0, max.mismatch = 2, exclude = excl)) + +# Reconstruct prime editing topology +# Note: GG is on the non-targeted strand +# H840A nickase used, which cleaves non-target strand. +# primer f RT +# bindingsite i template +# x C +# 3' CCGTCTGAAGAGGaGTCCTCAGTCTA 5'<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< +# :::::::::::: ^ 3' nicking spacer 5' +# GGCAGACTTCTC ^ ACTGAAAATACGGGTCGGGAC +# GTAAC CaC ^ +# 3.5 5' CTTCATCCACGTTCACCTTGCCCCACAGGGCA AGGAGTCAGATGCACCATGGTGTCTGTTTGAGGTTGCTAGTGAACACAG... ^ ...GCCCTGACTTTTATGCCCAGCCCTG 3' +# 3' GAAGTAGGTGCAAGTGGAACGGGGTGTCCCGT TCCTCAGTCTACGTGGTACCACAGACAAACTCCAACGATCACTTGTGTC... ^ ...CGGGACTGAAAATACGGGTCGGGAC 5' +# CATTGCCGTCTGAAGAGGtG ^ +# :::::::::::::::::::: ^ 5227089 5227111 +# 5' GTAACGGCAGACTTCTCCaC >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +# +# pegRNAspacer +# +# +# pegRNAspacer +# pegRNA C G +# 3.7 V<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 3' GTCCTCAGTCTACGTGGTACC 5' +# V +# V CAGGAGTCAGATGCACCATGG +# 5' ACCTTGATACCAACCTGCCCACCCG... V ..CTTCATCCACGTTCACCTTGCCCCACAGGGCAGTAACGGCAGACTTCTCCa TGTCTGTTTGAGGTTGCTAGTGAACACAG 3' +# 3' TGGAACTATGGTTGGACGGGTGGGC... V ..GAAGTAGGTGCAAGTGGAACGGGGTGTCCCGTCATTGCCGTCTGAAGAGGt ACAGACAAACTCCAACGATCACTTGTGTC 5' +# V GTC GTACC +# 5' ACCTTGATACCAACCTGCCCACCCG 3' V CTCAGTCTACGTG +# G V +# nickingspacer >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 5' AGACTTCTCCaCAGGAGTCAGGTGCAC 3' +# f +# RT i primer +# template x bindingsite +# diff --git a/inst/scipts/02_pe_coords_hexa.R b/inst/scipts/02_pe_coords_hexa.R index 41a35b61eb94d528193bebb31ee2d6233c24ce26..3da091b2313f4d429a78af3362542a1eeac9a7b2 100644 --- a/inst/scipts/02_pe_coords_hexa.R +++ b/inst/scipts/02_pe_coords_hexa.R @@ -1,31 +1,31 @@ -#------------------------------------------------------------------------ -# Protein coordinates -> Genomic coordinates -# HEXA: -#------------------------------------------------------------------------ - -# Load functions - require(magrittr) - require(multicrispr) - filter <- ensembldb::filter - UniprotMappingTypeFilter <- ensembldb::UniprotMappingTypeFilter - UniprotDbFilter <- ensembldb::UniprotDbFilter - - -# Map identifiers: PRNP -> ENST00000379440 - ensdb <- multicrispr::EnsDb.Hsapiens.v98() - ensdb %<>% filter(UniprotMappingTypeFilter('DIRECT', condition = "==")) - ensdb %<>% filter(UniprotDbFilter('SWISSPROT', condition = "==")) - ensembldb::columns(ensdb) - mycolumns <- c( - 'UNIPROTID', 'PROTEINID', 'TXID', - 'SEQCOORDSYSTEM', 'SEQNAME', 'SEQSTRAND', - 'GENESEQSTART', 'GENESEQEND', - 'TXSEQSTART', 'TXSEQEND', 'TXCDSSEQSTART', 'TXCDSSEQEND', - 'PROTEINSEQUENCE') - hexa <- ensembldb::select(ensdb, 'HEXA', mycolumns, 'SYMBOL') - # single ENST / ENSP - -# Google helped to locate Tay Sachs locus - gr <- GenomicRanges::GRanges('chr15:72346580-72346583', strand = '-', - seqinfo = seqinfo(bsgenome)) - BSgenome::getSeq(bsgenome, gr) +#------------------------------------------------------------------------ +# Protein coordinates -> Genomic coordinates +# HEXA: +#------------------------------------------------------------------------ + +# Load functions + require(magrittr) + require(multicrispr) + filter <- ensembldb::filter + UniprotMappingTypeFilter <- ensembldb::UniprotMappingTypeFilter + UniprotDbFilter <- ensembldb::UniprotDbFilter + + +# Map identifiers: PRNP -> ENST00000379440 + ensdb <- multicrispr::EnsDb.Hsapiens.v98() + ensdb %<>% filter(UniprotMappingTypeFilter('DIRECT', condition = "==")) + ensdb %<>% filter(UniprotDbFilter('SWISSPROT', condition = "==")) + ensembldb::columns(ensdb) + mycolumns <- c( + 'UNIPROTID', 'PROTEINID', 'TXID', + 'SEQCOORDSYSTEM', 'SEQNAME', 'SEQSTRAND', + 'GENESEQSTART', 'GENESEQEND', + 'TXSEQSTART', 'TXSEQEND', 'TXCDSSEQSTART', 'TXCDSSEQEND', + 'PROTEINSEQUENCE') + hexa <- ensembldb::select(ensdb, 'HEXA', mycolumns, 'SYMBOL') + # single ENST / ENSP + +# Google helped to locate Tay Sachs locus + gr <- GenomicRanges::GRanges('chr15:72346580-72346583', strand = '-', + seqinfo = seqinfo(bsgenome)) + BSgenome::getSeq(bsgenome, gr) diff --git a/inst/scipts/02_pe_coords_prnp.R b/inst/scipts/02_pe_coords_prnp.R index 021c47af8ee4ef691d14a8279ada946d0d14168d..96ddf589a6703e5ef67d05d3c935fcb81642e682 100644 --- a/inst/scipts/02_pe_coords_prnp.R +++ b/inst/scipts/02_pe_coords_prnp.R @@ -1,62 +1,62 @@ -#------------------------------------------------------------------------ -# Protein coordinates -> Genomic coordinates -# PRNP: G127V : GGC>GTC : chr20:4699600 -#------------------------------------------------------------------------ - -# Load functions - require(magrittr) - require(multicrispr) - filter <- ensembldb::filter - UniprotMappingTypeFilter <- ensembldb::UniprotMappingTypeFilter - UniprotDbFilter <- ensembldb::UniprotDbFilter - - EnsDb.Mmusculus <- function(){ - hub <- AnnotationHub::AnnotationHub() - #hub <- hub[hub$species == 'Mus musculus' & hub$rdataclass == 'EnsDb'] - #sort(hub$title) - #AnnotationHub::query(hub, '98') # 'AH75036' - hub[["AH75036"]] - } - - EnsDb.Hsapiens <- function(){ - hub <- AnnotationHub::AnnotationHub() - #hub <- hub[hub$species == 'Homo sapiens' & hub$rdataclass == 'EnsDb'] - #sort(hub$title) - #AnnotationHub::query(hub, '98') # 'AH75011' - #AnnotationHub::query(hub, '99') # 'AH78783' - hub[["AH78783"]] - } - - -# Map identifiers: PRNP -> ENST00000379440 - ensdb <- EnsDb.Hsapiens() - ensdb %<>% filter(UniprotMappingTypeFilter('DIRECT', condition = "==")) - ensdb %<>% filter(UniprotDbFilter('SWISSPROT', condition = "==")) - ensembldb::columns(ensdb) - mycolumns <- c( - 'UNIPROTID', 'PROTEINID', 'TXID', - 'SEQCOORDSYSTEM', 'SEQNAME', 'SEQSTRAND', - 'GENESEQSTART', 'GENESEQEND', - 'TXSEQSTART', 'TXSEQEND', 'TXCDSSEQSTART', 'TXCDSSEQEND', - 'PROTEINSEQUENCE') - prnp <- ensembldb::select(ensdb, 'PRNP', mycolumns, 'SYMBOL') - prnp$PROTEINSEQUENCE[[1]] == prnp$PROTEINSEQUENCE[[2]] # identical! - # Conclusion: ENST00000379440 & ENST00000430350 - # - differ in length of 3' UTR and 5'UTR - # - have identical codingtranscript and protein - # - # For protein coordinate -> genome coordinate mapping - # - both are equivalent - # - let's choose ENST00000379440, since it is gold colored in Ensembl - # genome browser (manual curation and automated annotation match) - - -# Map coordinates: G127V : GGC>GTC : chr20:4699600 - ensp <- 'ENSP00000368752' - gr <- ensembldb::proteinToGenome( - IRanges::IRanges(start=127, end=127) %>% set_names(ensp), - ensdb) %>% - extract2(ensp) %>% - (function(y){seqlevelsStyle(y) <- 'UCSC'; y}) - bs <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 - BSgenome::getSeq(bs, names = seqnames(gr), start = start(gr), end = end(gr)) +#------------------------------------------------------------------------ +# Protein coordinates -> Genomic coordinates +# PRNP: G127V : GGC>GTC : chr20:4699600 +#------------------------------------------------------------------------ + +# Load functions + require(magrittr) + require(multicrispr) + filter <- ensembldb::filter + UniprotMappingTypeFilter <- ensembldb::UniprotMappingTypeFilter + UniprotDbFilter <- ensembldb::UniprotDbFilter + + EnsDb.Mmusculus <- function(){ + hub <- AnnotationHub::AnnotationHub() + #hub <- hub[hub$species == 'Mus musculus' & hub$rdataclass == 'EnsDb'] + #sort(hub$title) + #AnnotationHub::query(hub, '98') # 'AH75036' + hub[["AH75036"]] + } + + EnsDb.Hsapiens <- function(){ + hub <- AnnotationHub::AnnotationHub() + #hub <- hub[hub$species == 'Homo sapiens' & hub$rdataclass == 'EnsDb'] + #sort(hub$title) + #AnnotationHub::query(hub, '98') # 'AH75011' + #AnnotationHub::query(hub, '99') # 'AH78783' + hub[["AH78783"]] + } + + +# Map identifiers: PRNP -> ENST00000379440 + ensdb <- EnsDb.Hsapiens() + ensdb %<>% filter(UniprotMappingTypeFilter('DIRECT', condition = "==")) + ensdb %<>% filter(UniprotDbFilter('SWISSPROT', condition = "==")) + ensembldb::columns(ensdb) + mycolumns <- c( + 'UNIPROTID', 'PROTEINID', 'TXID', + 'SEQCOORDSYSTEM', 'SEQNAME', 'SEQSTRAND', + 'GENESEQSTART', 'GENESEQEND', + 'TXSEQSTART', 'TXSEQEND', 'TXCDSSEQSTART', 'TXCDSSEQEND', + 'PROTEINSEQUENCE') + prnp <- ensembldb::select(ensdb, 'PRNP', mycolumns, 'SYMBOL') + prnp$PROTEINSEQUENCE[[1]] == prnp$PROTEINSEQUENCE[[2]] # identical! + # Conclusion: ENST00000379440 & ENST00000430350 + # - differ in length of 3' UTR and 5'UTR + # - have identical codingtranscript and protein + # + # For protein coordinate -> genome coordinate mapping + # - both are equivalent + # - let's choose ENST00000379440, since it is gold colored in Ensembl + # genome browser (manual curation and automated annotation match) + + +# Map coordinates: G127V : GGC>GTC : chr20:4699600 + ensp <- 'ENSP00000368752' + gr <- ensembldb::proteinToGenome( + IRanges::IRanges(start=127, end=127) %>% set_names(ensp), + ensdb) %>% + extract2(ensp) %>% + (function(y){seqlevelsStyle(y) <- 'UCSC'; y}) + bs <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 + BSgenome::getSeq(bs, names = seqnames(gr), start = start(gr), end = end(gr)) diff --git a/inst/scipts/03_save_srf_genes.R b/inst/scipts/03_save_srf_genes.R index 1d1b006c89ec00a22ec05a5a9c6eb80cb7920b6a..a6aa9c89ba4956ae0552dc4a987dce646bd5c083 100644 --- a/inst/scipts/03_save_srf_genes.R +++ b/inst/scipts/03_save_srf_genes.R @@ -1,35 +1,35 @@ -# Read - library(magrittr) - library(multicrispr) - bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') - gr <- bed_to_granges(bedfile, 'mm10') - -# Functions - write <- function(x, file){ - write.table(x, file, quote = FALSE, row.names = FALSE, col.names = FALSE) - } - -# Entrez - dbname <- 'TxDb.Mmusculus.UCSC.mm10.knownGene' - db <- utils::getFromNamespace(dbname, dbname) - entrez <- annotate_granges(gr, db) %>% - magrittr::extract(!is.na(.$gene_id)) %>% - data.table::as.data.table() %>% - magrittr::extract(, - list(seqnames, start, end, strand, entrez=gene_id)) - -# Ensembl - db <- AnnotationHub::AnnotationHub()[["AH75036"]] #EnsDb.Mmusculus.v98 - ensembl <- annotate_granges(gr, db) %>% - magrittr::extract(!is.na(.$gene_id)) %>% - data.table::as.data.table() %>% - magrittr::extract(, - list(seqnames, start, end, strand, ensembl=gene_id)) - -# Intersect - both <- merge(entrez, ensembl, by = c('seqnames', 'start', 'end', 'strand')) - set.seed(3) - idx <- sample(seq_len(nrow(both)), 10) - both$entrez[ idx] %>% write('inst/extdata/SRF.entrez') - both$ensembl[idx] %>% write('inst/extdata/SRF.ensembl') - +# Read + library(magrittr) + library(multicrispr) + bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') + gr <- bed_to_granges(bedfile, 'mm10') + +# Functions + write <- function(x, file){ + write.table(x, file, quote = FALSE, row.names = FALSE, col.names = FALSE) + } + +# Entrez + dbname <- 'TxDb.Mmusculus.UCSC.mm10.knownGene' + db <- utils::getFromNamespace(dbname, dbname) + entrez <- annotate_granges(gr, db) %>% + magrittr::extract(!is.na(.$gene_id)) %>% + data.table::as.data.table() %>% + magrittr::extract(, + list(seqnames, start, end, strand, entrez=gene_id)) + +# Ensembl + db <- AnnotationHub::AnnotationHub()[["AH75036"]] #EnsDb.Mmusculus.v98 + ensembl <- annotate_granges(gr, db) %>% + magrittr::extract(!is.na(.$gene_id)) %>% + data.table::as.data.table() %>% + magrittr::extract(, + list(seqnames, start, end, strand, ensembl=gene_id)) + +# Intersect + both <- merge(entrez, ensembl, by = c('seqnames', 'start', 'end', 'strand')) + set.seed(3) + idx <- sample(seq_len(nrow(both)), 10) + both$entrez[ idx] %>% write('inst/extdata/SRF.entrez') + both$ensembl[idx] %>% write('inst/extdata/SRF.ensembl') + diff --git a/inst/scipts/04_use_cases.R b/inst/scipts/04_use_cases.R index 814344a35c8fcd779085840063a9115d959d87ee..1cfa6d0d1b7f2b5a0f24f42da4508219dab1babc 100644 --- a/inst/scipts/04_use_cases.R +++ b/inst/scipts/04_use_cases.R @@ -1,272 +1,272 @@ -require(magrittr) -require(multicrispr) - -#============= -# TFBS -#============= - -# Decide which to keep -reticulate::use_condaenv('azienv') -bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 -bedfile <- system.file('extdata/SRF.bed', package='multicrispr') -targets <- multicrispr::bed_to_granges(bedfile, genome='mm10', plot = FALSE) -#png('graphs/srf_karyogram.png') -#multicrispr::plot_karyogram(targets, title = NULL) -#dev.off() - -extended <- extend(targets, -22, +22) - -# targets['T0151'] %>% plot_intervals() -# targets['T0151'] %>% extend() %>% plot_intervals() -# targets['T0151'] %>% up_flank() %>% plot_intervals() -# targets['T0151'] %>% down_flank() %>% plot_intervals() - -spacers <- extended %>% find_spacers(bsgenome) -spacers %<>% add_offtargets(bsgenome, extended) -spacers %<>% add_efficiency(bsgenome, method = 'Doench2016') - -spacers %>% subset(seqnames == 'chr1') %>% - subset(specific == TRUE) %>% - gr2dt() %>% - extract(,.SD[.N>2] ,by = 'targetname') %>% - dt2gr(seqinfo(spacers)) - -spacers2 <- spacers -spacers2 %<>% subset(specific==TRUE) -spacers2$score <- spacers2$name <- spacers2$crisprcontext <- spacers2$specific <- NULL -spacers2 - -targets %<>% subset(targetname %in% c('T0050')) # T0151 -extended%<>% subset(targetname %in% c('T0050')) -spacers %<>% subset(targetname %in% c('T0050')) -spacers %>% extract(c(length(.), 1)) - -# Create plots: original -p <- plot_intervals(targets, color_var = 'targetname') + - ggplot2::scale_color_manual(values = c(T0050 = "#00BFC4")) + - ggplot2::guides(color = FALSE, linetype = FALSE) -ggplot2::ggsave('graphs/srf01.pdf', p, width =2.2, height = 1.5, device = grDevices::cairo_pdf) -#ggplot2::ggsave('graphs/srf01.png', p, width = 2.2, height = 1.5) - - -p <- plot_intervals(extended) + - ggplot2::scale_color_manual(values = c(T0050 = "#00BFC4")) + - ggplot2::guides(color = FALSE, linetype = FALSE) -ggplot2::ggsave('graphs/srf02_extended.pdf', p, width =2.2, height = 1.5, device = grDevices::cairo_pdf) -#ggplot2::ggsave('graphs/srf02_extended.png', p, width = 2.2, height = 1.5) - -p <- plot_intervals(spacers) + - ggplot2::scale_color_manual(values = c(T0050 = "#00BFC4")) + - ggplot2::guides(color = FALSE) -ggplot2::ggsave('graphs/srf03_spacers.pdf', p, width =2.2, height = 1.5, device = grDevices::cairo_pdf) -#ggplot2::ggsave('graphs/srf03_spacers.png', p, width = 2.2, height = 1.5) - -p <- plot_intervals(spacers, alpha_var = 'specific') + - ggplot2::scale_color_manual(values = c(T0050 = "#00BFC4")) + - ggplot2::scale_alpha_manual(values = c(`TRUE`=1, `FALSE`=0.20)) + - ggplot2::guides(color = FALSE, alpha = FALSE) -ggplot2::ggsave('graphs/srf04_specific.pdf', p, width = 2.2, height = 1.5, device = grDevices::cairo_pdf) -#ggplot2::ggsave('graphs/srf04_specific.png', p, width = 2.2, height = 1.5) - -quantiles <- round(quantile(spacers2$Doench2016, c(.33, .66, 1)), 2) -spacers$efficiency <- spacers$Doench2016 %>% cut(c(0, quantiles), labels = as.character(quantiles)) -p <- plot_intervals(spacers, size_var = 'efficiency', alpha_var = 'specific') + - ggplot2::scale_color_manual(values = c(T0050 = "#00BFC4")) + - ggplot2::scale_size_manual(values = c(0.2, 1.5, 3) %>% set_names(quantiles)) + - ggplot2::scale_alpha_manual(values = c(`TRUE`=1, `FALSE`=0.25)) + - ggplot2::guides(color = FALSE, alpha = FALSE, size = FALSE) -ggplot2::ggsave('graphs/srf05_efficient.pdf', p, width = 2.2, height = 1.5, device = grDevices::cairo_pdf) -#ggplot2::ggsave('graphs/srf05_efficient.png', p, width = 2.2, height = 1.5) - -# PE -#===== -bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -# gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp -# HBB = 'chr11:5227002:-', # snp -# HEXA = 'chr15:72346580-72346583:-', # del -# CFTR = 'chr7:117559593-117559595:+'), # ins -# bsgenome) -gr <- char_to_granges(c(HBB = 'chr11:5227002:-'), bsgenome) -plot_intervals(gr, facet_var = c('seqnames', 'targetname')) - -spacers <- gr %>% find_pe_spacers(bsgenome, nrt=48) %>% add_genome_counts() -spacers$specific <- spacers$G0==1 -spacers %<>% add_efficiency(bsgenome, 'Doench2016') - # Select HBB - -gr %<>% extract('HBB') -p <- plot_intervals(gr, facet_var = c('seqnames', 'targetname')) + - ggplot2::guides(color = FALSE) -ggplot2::ggsave('graphs/hbb01.pdf', p, width=2.2, height=1.8, device = grDevices::cairo_pdf) - -extended <- extend_for_pe(gr, nrt = 48) -p <- plot_intervals(extended, facet_var = c('seqnames', 'targetname')) + - ggplot2::guides(color = FALSE) -ggplot2::ggsave('graphs/hbb02_extended.pdf', p, width=2.1, height=1.8, device = grDevices::cairo_pdf) - -spacers <- gr %>% find_pe_spacers(bsgenome, nrt=48) -p <- plot_intervals(spacers, facet_var = c('seqnames', 'targetname')) + - ggplot2::guides(color = FALSE, size = FALSE) -ggplot2::ggsave('graphs/hbb03_spacers.pdf', p, width=2.2, height=1.8, device = grDevices::cairo_pdf) - -spacers %<>% add_genome_counts() -spacers$specific <- spacers$G0==1 -p <- plot_intervals(spacers, facet_var = c('seqnames', 'targetname'), - alpha_var = 'specific') + - ggplot2::scale_alpha_manual(values = c(`TRUE` = 1, `FALSE` = 0.25)) + - ggplot2::guides(color = FALSE, size = FALSE, alpha = FALSE) -ggplot2::ggsave('graphs/hbb04_specific.pdf', p, width=2.2, height=1.8, device = grDevices::cairo_pdf) - -spacers %<>% add_efficiency(bsgenome, 'Doench2016') -quantiles <- round(quantile(spacers$Doench2016, c(0.33, 0.66, 1)), 2) -spacers$efficiency <- cut(spacers$Doench2016, c(0, quantiles), labels = quantiles) %>% - as.character() -p <- plot_intervals(spacers, facet_var = c('seqnames', 'targetname'), - alpha_var = 'specific', size_var = 'efficiency') + - ggplot2::scale_alpha_manual(values = c(`TRUE` = 1, `FALSE` = 0.25)) + - ggplot2::scale_size_manual(values = c(0.2, 1.5, 3) %>% set_names(quantiles)) + - ggplot2::guides(color = FALSE, size = FALSE, alpha = FALSE) -ggplot2::ggsave('graphs/hbb05_efficient.pdf', p, width=2.2, height=1.8, device = grDevices::cairo_pdf) - - -gr %<>% extract('HBB') -plot_intervals(gr, facet_var = c('targetname', 'seqnames'), color_var = NULL) + - #ggplot2::guides(color=FALSE) + - ggplot2::xlab(NULL) + ggplot2::ylab(NULL) + - ggplot2::scale_x_continuous(name = NULL, breaks = c(0, 1)) + - ggplot2::theme(panel.grid.major = ggplot2::element_blank(), - panel.grid.minor = ggplot2::element_blank()) - - -# Extend -find_spacers(extend_for_pe(gr, bsgenome), bsgenome, complement = FALSE) - -grplot <- c(gr, grext) -grplot$set <- c('target', '+', '-') -plot_intervals(grplot, facet_var = c('targetname', 'seqnames'), yby = 'set', color_var = NULL, linetype = 'set') + - ggplot2::xlab(NULL) + ggplot2::ylab(NULL) + - #ggplot2::guides(color=FALSE) + - ggplot2::scale_linetype_manual(values = c(target = 'solid', `+` = 'longdash', `-` = 'longdash')) + - #ggplot2::scale_color_manual(values = c(target = '#F8766D', `+` = 'black' , `-` = 'black')) + - ggplot2::guides(linetype=FALSE) + - ggplot2::theme(panel.grid.major = ggplot2::element_blank(), - panel.grid.minor = ggplot2::element_blank()) -grDevices::hcl(h = seq(15, 375, length = n + 1), l = 65, c = 100)[1:3] - - #ggplot2::theme( legend.position = c(0.25,0.73), - # legend.title = ggplot2::element_blank(), - # legend.key = ggplot2::element_blank(), - # legend.background = ggplot2::element_blank()) - -# Find pe sites -spacers <- find_pe_spacers(gr, bsgenome, nrt = 26) - -# Filter for specificity -genomedir <- '~/.multicrispr/bowtie/genome/BSgenome.Hsapiens.UCSC.hg38' -outdir <- '~/.multicrispr/bowtie' -filter_prime_specific(spacers, genomedir, outdir) - - - -# quantiles <- round(quantile(spacers$Doench2016, c(.33, .66, 1)), 2) -# spacers$efficiency <- spacers$Doench2016 %>% cut(c(0, quantiles), labels = as.character(quantiles)) -# p <- plot_intervals(spacers, size_var = 'efficiency') + -# ggplot2::scale_size_manual(values = c(0.2, 1.5, 4) %>% set_names(quantiles)) + -# ggplot2::guides(color = FALSE, alpha = FALSE, size = FALSE) -# ggplot2::ggsave('graphs/srf_efficient.png', p, width = 3, height = 2.5) - -p <- plot_intervals(spacers, size_var = 'efficiency', alpha_var = 'specific') + - ggplot2::scale_size_manual(values = c(0.2, 1.5, 3) %>% set_names(quantiles)) + - ggplot2::scale_alpha_manual(values = c(`TRUE`=1, `FALSE`=0.25)) + - ggplot2::guides(color = FALSE, alpha = FALSE, size = FALSE) -ggplot2::ggsave('graphs/srf_efficient.png', p, width = 2.5, height = 2) - - -# Process -png('graphs/srf_extended.png') -targets %<>% extend(plot = TRUE) -dev.off() - - -targets %>% find_spacers(bsgenome) %>% filter_target_specific(targets, bsgenome) %>% filter_efficient() - -targets %<>% subset(targetname %in% c('T0018', 'T1042')) -plot_intervals(targets, yby = 'targetname') - -# Extend -grext <- extend(gr, plot = TRUE) -gr$set <- 'target' -grext$set <- 'extension' -grplot <- c(gr, grext) -grplot$set %<>% factor(c('target', 'extension')) -plot_intervals(grplot, color_var = 'targetname', linetype = 'set') - -# Find spacers -spacers <- find_spacers(grext, bsgenome) -spacers %>% subset(targetname %in% c('T0018', 'T0151')) %>% plot_intervals(yby = 'crisprname', color_var = 'targetname') - -# Filter for specificity -tdir <- index_targets(grext, bsgenome) -gdir <- '~/.multicrispr/bowtie/genome/BSgenome.Mmusculus.UCSC.mm10' -outdir <- '~/.multicrispr/bowtie' -specificspacers <- filter_target_specific(spacers, tdir, gdir, outdir) -specificspacers %>% subset(targetname %in% c('T0018', 'T0151')) %>% plot_intervals(yby = 'crisprname', color_var = 'targetname') - -# Filter for -specificspacers %<>% score_spacers(bsgenome, 'Doench2016', condaenv = 'azimuthenv') -specificspacers %>% subset(targetname %in% c('T0018', 'T0151') & Doench2016 > 0.4) - - plot_intervals(specificspacers, yby = 'crisprname') - - - - - -targets <- extend(bed_to_granges(bedfile, genome='mm10', plot = FALSE)) -bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 -spacers <- find_spacers(targets, bsgenome) -indexedgenome <- '~/.multicrispr/bowtie/BSgenome.Mmusculus.UCSC.mm10' -specific <- filter_target_specific(spacers, targets, bsgenome, indexedgenome) -specific %<>% score_spacers(bsgenome, 'Doench2016', condaenv = 'azimuthenv') -efficient <- specific %<>% subset(Doench2016>0.4) - - -targets$set <- 'A' -spacers$set <- 'B' -specific$set <- 'C' -efficient$set <- 'D' - -plotgr <- c(targets, spacers, specific, efficient) - - plotgr %<>% sort(ignore.strand = TRUE) - #plotgr %<>% subset(seqnames == 'chr1') - plotdt <- data.table::as.data.table(plotgr) - plotdt[ , bin := cut(start, 10, labels = FALSE) ] - plotdt[ , y := scales::number(min(start), big.mark = ','), by = 'bin'] - plotdt$y %<>% factor(unique(.)) - - plotdt[strand=='+', x := start] - plotdt[strand=='+', xend := end] - plotdt[strand=='-', x := end] - plotdt[strand=='-', xend := start] - - # plotdt[strand=='+', x := start - min(start), by = 'y' ] - # plotdt[strand=='+', xend := end - min(start), by = 'y' ] - # plotdt[strand=='-', x := end - min(start), by = 'y' ] - # plotdt[strand=='-', xend := start - min(start), by = 'y' ] - - require(ggplot2) - ggplot(plotdt, aes_string(x = 'x', xend = 'xend', y = 'seqnames', yend = 'seqnames', color = 'set')) + - geom_segment(arrow = arrow(length = unit(0.1, "inches"))) + - scale_x_continuous(labels = scales::comma) + - xlab(NULL) + ylab(NULL) + theme_bw() + - scale_color_manual(values=c(A='lavenderblush', B='gray90', C='gray50', D='green4')) - #guides(color = FALSE) - - - - - - - - +require(magrittr) +require(multicrispr) + +#============= +# TFBS +#============= + +# Decide which to keep +reticulate::use_condaenv('azienv') +bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 +bedfile <- system.file('extdata/SRF.bed', package='multicrispr') +targets <- multicrispr::bed_to_granges(bedfile, genome='mm10', plot = FALSE) +#png('graphs/srf_karyogram.png') +#multicrispr::plot_karyogram(targets, title = NULL) +#dev.off() + +extended <- extend(targets, -22, +22) + +# targets['T0151'] %>% plot_intervals() +# targets['T0151'] %>% extend() %>% plot_intervals() +# targets['T0151'] %>% up_flank() %>% plot_intervals() +# targets['T0151'] %>% down_flank() %>% plot_intervals() + +spacers <- extended %>% find_spacers(bsgenome) +spacers %<>% add_offtargets(bsgenome, extended) +spacers %<>% add_efficiency(bsgenome, method = 'Doench2016') + +spacers %>% subset(seqnames == 'chr1') %>% + subset(specific == TRUE) %>% + gr2dt() %>% + extract(,.SD[.N>2] ,by = 'targetname') %>% + dt2gr(seqinfo(spacers)) + +spacers2 <- spacers +spacers2 %<>% subset(specific==TRUE) +spacers2$score <- spacers2$name <- spacers2$crisprcontext <- spacers2$specific <- NULL +spacers2 + +targets %<>% subset(targetname %in% c('T0050')) # T0151 +extended%<>% subset(targetname %in% c('T0050')) +spacers %<>% subset(targetname %in% c('T0050')) +spacers %>% extract(c(length(.), 1)) + +# Create plots: original +p <- plot_intervals(targets, color_var = 'targetname') + + ggplot2::scale_color_manual(values = c(T0050 = "#00BFC4")) + + ggplot2::guides(color = FALSE, linetype = FALSE) +ggplot2::ggsave('graphs/srf01.pdf', p, width =2.2, height = 1.5, device = grDevices::cairo_pdf) +#ggplot2::ggsave('graphs/srf01.png', p, width = 2.2, height = 1.5) + + +p <- plot_intervals(extended) + + ggplot2::scale_color_manual(values = c(T0050 = "#00BFC4")) + + ggplot2::guides(color = FALSE, linetype = FALSE) +ggplot2::ggsave('graphs/srf02_extended.pdf', p, width =2.2, height = 1.5, device = grDevices::cairo_pdf) +#ggplot2::ggsave('graphs/srf02_extended.png', p, width = 2.2, height = 1.5) + +p <- plot_intervals(spacers) + + ggplot2::scale_color_manual(values = c(T0050 = "#00BFC4")) + + ggplot2::guides(color = FALSE) +ggplot2::ggsave('graphs/srf03_spacers.pdf', p, width =2.2, height = 1.5, device = grDevices::cairo_pdf) +#ggplot2::ggsave('graphs/srf03_spacers.png', p, width = 2.2, height = 1.5) + +p <- plot_intervals(spacers, alpha_var = 'specific') + + ggplot2::scale_color_manual(values = c(T0050 = "#00BFC4")) + + ggplot2::scale_alpha_manual(values = c(`TRUE`=1, `FALSE`=0.20)) + + ggplot2::guides(color = FALSE, alpha = FALSE) +ggplot2::ggsave('graphs/srf04_specific.pdf', p, width = 2.2, height = 1.5, device = grDevices::cairo_pdf) +#ggplot2::ggsave('graphs/srf04_specific.png', p, width = 2.2, height = 1.5) + +quantiles <- round(quantile(spacers2$Doench2016, c(.33, .66, 1)), 2) +spacers$efficiency <- spacers$Doench2016 %>% cut(c(0, quantiles), labels = as.character(quantiles)) +p <- plot_intervals(spacers, size_var = 'efficiency', alpha_var = 'specific') + + ggplot2::scale_color_manual(values = c(T0050 = "#00BFC4")) + + ggplot2::scale_size_manual(values = c(0.2, 1.5, 3) %>% set_names(quantiles)) + + ggplot2::scale_alpha_manual(values = c(`TRUE`=1, `FALSE`=0.25)) + + ggplot2::guides(color = FALSE, alpha = FALSE, size = FALSE) +ggplot2::ggsave('graphs/srf05_efficient.pdf', p, width = 2.2, height = 1.5, device = grDevices::cairo_pdf) +#ggplot2::ggsave('graphs/srf05_efficient.png', p, width = 2.2, height = 1.5) + +# PE +#===== +bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +# gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp +# HBB = 'chr11:5227002:-', # snp +# HEXA = 'chr15:72346580-72346583:-', # del +# CFTR = 'chr7:117559593-117559595:+'), # ins +# bsgenome) +gr <- char_to_granges(c(HBB = 'chr11:5227002:-'), bsgenome) +plot_intervals(gr, facet_var = c('seqnames', 'targetname')) + +spacers <- gr %>% find_pe_spacers(bsgenome, nrt=48) %>% add_genome_counts() +spacers$specific <- spacers$G0==1 +spacers %<>% add_efficiency(bsgenome, 'Doench2016') + # Select HBB + +gr %<>% extract('HBB') +p <- plot_intervals(gr, facet_var = c('seqnames', 'targetname')) + + ggplot2::guides(color = FALSE) +ggplot2::ggsave('graphs/hbb01.pdf', p, width=2.2, height=1.8, device = grDevices::cairo_pdf) + +extended <- extend_for_pe(gr, nrt = 48) +p <- plot_intervals(extended, facet_var = c('seqnames', 'targetname')) + + ggplot2::guides(color = FALSE) +ggplot2::ggsave('graphs/hbb02_extended.pdf', p, width=2.1, height=1.8, device = grDevices::cairo_pdf) + +spacers <- gr %>% find_pe_spacers(bsgenome, nrt=48) +p <- plot_intervals(spacers, facet_var = c('seqnames', 'targetname')) + + ggplot2::guides(color = FALSE, size = FALSE) +ggplot2::ggsave('graphs/hbb03_spacers.pdf', p, width=2.2, height=1.8, device = grDevices::cairo_pdf) + +spacers %<>% add_genome_counts() +spacers$specific <- spacers$G0==1 +p <- plot_intervals(spacers, facet_var = c('seqnames', 'targetname'), + alpha_var = 'specific') + + ggplot2::scale_alpha_manual(values = c(`TRUE` = 1, `FALSE` = 0.25)) + + ggplot2::guides(color = FALSE, size = FALSE, alpha = FALSE) +ggplot2::ggsave('graphs/hbb04_specific.pdf', p, width=2.2, height=1.8, device = grDevices::cairo_pdf) + +spacers %<>% add_efficiency(bsgenome, 'Doench2016') +quantiles <- round(quantile(spacers$Doench2016, c(0.33, 0.66, 1)), 2) +spacers$efficiency <- cut(spacers$Doench2016, c(0, quantiles), labels = quantiles) %>% + as.character() +p <- plot_intervals(spacers, facet_var = c('seqnames', 'targetname'), + alpha_var = 'specific', size_var = 'efficiency') + + ggplot2::scale_alpha_manual(values = c(`TRUE` = 1, `FALSE` = 0.25)) + + ggplot2::scale_size_manual(values = c(0.2, 1.5, 3) %>% set_names(quantiles)) + + ggplot2::guides(color = FALSE, size = FALSE, alpha = FALSE) +ggplot2::ggsave('graphs/hbb05_efficient.pdf', p, width=2.2, height=1.8, device = grDevices::cairo_pdf) + + +gr %<>% extract('HBB') +plot_intervals(gr, facet_var = c('targetname', 'seqnames'), color_var = NULL) + + #ggplot2::guides(color=FALSE) + + ggplot2::xlab(NULL) + ggplot2::ylab(NULL) + + ggplot2::scale_x_continuous(name = NULL, breaks = c(0, 1)) + + ggplot2::theme(panel.grid.major = ggplot2::element_blank(), + panel.grid.minor = ggplot2::element_blank()) + + +# Extend +find_spacers(extend_for_pe(gr, bsgenome), bsgenome, complement = FALSE) + +grplot <- c(gr, grext) +grplot$set <- c('target', '+', '-') +plot_intervals(grplot, facet_var = c('targetname', 'seqnames'), yby = 'set', color_var = NULL, linetype = 'set') + + ggplot2::xlab(NULL) + ggplot2::ylab(NULL) + + #ggplot2::guides(color=FALSE) + + ggplot2::scale_linetype_manual(values = c(target = 'solid', `+` = 'longdash', `-` = 'longdash')) + + #ggplot2::scale_color_manual(values = c(target = '#F8766D', `+` = 'black' , `-` = 'black')) + + ggplot2::guides(linetype=FALSE) + + ggplot2::theme(panel.grid.major = ggplot2::element_blank(), + panel.grid.minor = ggplot2::element_blank()) +grDevices::hcl(h = seq(15, 375, length = n + 1), l = 65, c = 100)[1:3] + + #ggplot2::theme( legend.position = c(0.25,0.73), + # legend.title = ggplot2::element_blank(), + # legend.key = ggplot2::element_blank(), + # legend.background = ggplot2::element_blank()) + +# Find pe sites +spacers <- find_pe_spacers(gr, bsgenome, nrt = 26) + +# Filter for specificity +genomedir <- '~/.multicrispr/bowtie/genome/BSgenome.Hsapiens.UCSC.hg38' +outdir <- '~/.multicrispr/bowtie' +filter_prime_specific(spacers, genomedir, outdir) + + + +# quantiles <- round(quantile(spacers$Doench2016, c(.33, .66, 1)), 2) +# spacers$efficiency <- spacers$Doench2016 %>% cut(c(0, quantiles), labels = as.character(quantiles)) +# p <- plot_intervals(spacers, size_var = 'efficiency') + +# ggplot2::scale_size_manual(values = c(0.2, 1.5, 4) %>% set_names(quantiles)) + +# ggplot2::guides(color = FALSE, alpha = FALSE, size = FALSE) +# ggplot2::ggsave('graphs/srf_efficient.png', p, width = 3, height = 2.5) + +p <- plot_intervals(spacers, size_var = 'efficiency', alpha_var = 'specific') + + ggplot2::scale_size_manual(values = c(0.2, 1.5, 3) %>% set_names(quantiles)) + + ggplot2::scale_alpha_manual(values = c(`TRUE`=1, `FALSE`=0.25)) + + ggplot2::guides(color = FALSE, alpha = FALSE, size = FALSE) +ggplot2::ggsave('graphs/srf_efficient.png', p, width = 2.5, height = 2) + + +# Process +png('graphs/srf_extended.png') +targets %<>% extend(plot = TRUE) +dev.off() + + +targets %>% find_spacers(bsgenome) %>% filter_target_specific(targets, bsgenome) %>% filter_efficient() + +targets %<>% subset(targetname %in% c('T0018', 'T1042')) +plot_intervals(targets, yby = 'targetname') + +# Extend +grext <- extend(gr, plot = TRUE) +gr$set <- 'target' +grext$set <- 'extension' +grplot <- c(gr, grext) +grplot$set %<>% factor(c('target', 'extension')) +plot_intervals(grplot, color_var = 'targetname', linetype = 'set') + +# Find spacers +spacers <- find_spacers(grext, bsgenome) +spacers %>% subset(targetname %in% c('T0018', 'T0151')) %>% plot_intervals(yby = 'crisprname', color_var = 'targetname') + +# Filter for specificity +tdir <- index_targets(grext, bsgenome) +gdir <- '~/.multicrispr/bowtie/genome/BSgenome.Mmusculus.UCSC.mm10' +outdir <- '~/.multicrispr/bowtie' +specificspacers <- filter_target_specific(spacers, tdir, gdir, outdir) +specificspacers %>% subset(targetname %in% c('T0018', 'T0151')) %>% plot_intervals(yby = 'crisprname', color_var = 'targetname') + +# Filter for +specificspacers %<>% score_spacers(bsgenome, 'Doench2016', condaenv = 'azimuthenv') +specificspacers %>% subset(targetname %in% c('T0018', 'T0151') & Doench2016 > 0.4) + + plot_intervals(specificspacers, yby = 'crisprname') + + + + + +targets <- extend(bed_to_granges(bedfile, genome='mm10', plot = FALSE)) +bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 +spacers <- find_spacers(targets, bsgenome) +indexedgenome <- '~/.multicrispr/bowtie/BSgenome.Mmusculus.UCSC.mm10' +specific <- filter_target_specific(spacers, targets, bsgenome, indexedgenome) +specific %<>% score_spacers(bsgenome, 'Doench2016', condaenv = 'azimuthenv') +efficient <- specific %<>% subset(Doench2016>0.4) + + +targets$set <- 'A' +spacers$set <- 'B' +specific$set <- 'C' +efficient$set <- 'D' + +plotgr <- c(targets, spacers, specific, efficient) + + plotgr %<>% sort(ignore.strand = TRUE) + #plotgr %<>% subset(seqnames == 'chr1') + plotdt <- data.table::as.data.table(plotgr) + plotdt[ , bin := cut(start, 10, labels = FALSE) ] + plotdt[ , y := scales::number(min(start), big.mark = ','), by = 'bin'] + plotdt$y %<>% factor(unique(.)) + + plotdt[strand=='+', x := start] + plotdt[strand=='+', xend := end] + plotdt[strand=='-', x := end] + plotdt[strand=='-', xend := start] + + # plotdt[strand=='+', x := start - min(start), by = 'y' ] + # plotdt[strand=='+', xend := end - min(start), by = 'y' ] + # plotdt[strand=='-', x := end - min(start), by = 'y' ] + # plotdt[strand=='-', xend := start - min(start), by = 'y' ] + + require(ggplot2) + ggplot(plotdt, aes_string(x = 'x', xend = 'xend', y = 'seqnames', yend = 'seqnames', color = 'set')) + + geom_segment(arrow = arrow(length = unit(0.1, "inches"))) + + scale_x_continuous(labels = scales::comma) + + xlab(NULL) + ylab(NULL) + theme_bw() + + scale_color_manual(values=c(A='lavenderblush', B='gray90', C='gray50', D='green4')) + #guides(color = FALSE) + + + + + + + + diff --git a/inst/scipts/05_pipeline_for_becnhmarking.R b/inst/scipts/05_pipeline_for_becnhmarking.R index 62386bbfc1c6343f4ff79adbf34aae3db17753bd..7b60317a8f4db91e229b451c3cf30e6b8e868051 100644 --- a/inst/scipts/05_pipeline_for_becnhmarking.R +++ b/inst/scipts/05_pipeline_for_becnhmarking.R @@ -1,53 +1,53 @@ -# General -#======== - # Install azimuth for scoring - #---------------------------- - # require(reticulate) - # conda_create('azienv', c('python=2.7')) - # use_condaenv('azienv') - # py_install(c('azimuth', 'scikit-learn==0.17.1'), 'azienv', pip = TRUE) - # reticulate::use_condaenv('azienv') - - # Index genome - #------------- - require(multicrispr) - index_genome(BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10) - index_genome(BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38) - - # Load packages - require(magrittr) - require(multicrispr) - reticulate::use_condaenv('azienv') - -# Parallel Targeting -#=================== - - # Define targets to block TFBS - bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') - targets <- bed_to_granges(bedfile, 'mm10') %>% - extend(-22, +22) - - # Find specific, efficient spacers - bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 - spacers <- find_spacers(targets, bsgenome) - spacers %<>% filter_target_specific(targets, bsgenome) - spacers %<>% add_efficiency(bsgenome, method = 'Doench2016') - spacers - -# Prime Editing -#============== - - # Define target for editing - bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 - targets <- char_to_granges(c( PRNP = 'chr20:4699600:+', # snp - HBB = 'chr11:5227002:-', # snp - HEXA = 'chr15:72346580-72346583:-', # del - CFTR = 'chr7:117559593-117559595:+'), # ins - bsgenome) - - # Find specific, efficient spacers - spacers <- find_pe_spacers(targets, bsgenome) - spacers %<>% filter_prime_specific(bsgenome) - spacers %<>% add_efficiency(bsgenome, method = 'Doench2016') - spacers - +# General +#======== + # Install azimuth for scoring + #---------------------------- + # require(reticulate) + # conda_create('azienv', c('python=2.7')) + # use_condaenv('azienv') + # py_install(c('azimuth', 'scikit-learn==0.17.1'), 'azienv', pip = TRUE) + # reticulate::use_condaenv('azienv') + + # Index genome + #------------- + require(multicrispr) + index_genome(BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10) + index_genome(BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38) + + # Load packages + require(magrittr) + require(multicrispr) + reticulate::use_condaenv('azienv') + +# Parallel Targeting +#=================== + + # Define targets to block TFBS + bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') + targets <- bed_to_granges(bedfile, 'mm10') %>% + extend(-22, +22) + + # Find specific, efficient spacers + bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 + spacers <- find_spacers(targets, bsgenome) + spacers %<>% filter_target_specific(targets, bsgenome) + spacers %<>% add_efficiency(bsgenome, method = 'Doench2016') + spacers + +# Prime Editing +#============== + + # Define target for editing + bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 + targets <- char_to_granges(c( PRNP = 'chr20:4699600:+', # snp + HBB = 'chr11:5227002:-', # snp + HEXA = 'chr15:72346580-72346583:-', # del + CFTR = 'chr7:117559593-117559595:+'), # ins + bsgenome) + + # Find specific, efficient spacers + spacers <- find_pe_spacers(targets, bsgenome) + spacers %<>% filter_prime_specific(bsgenome) + spacers %<>% add_efficiency(bsgenome, method = 'Doench2016') + spacers + diff --git a/inst/scipts/06_validate_paralleltargeting.R b/inst/scipts/06_validate_paralleltargeting.R index 309ddd6e357551892d81d73337a18ea47587953c..13b995f788f20c038eb06fbfe7532eed5e1b6061 100644 --- a/inst/scipts/06_validate_paralleltargeting.R +++ b/inst/scipts/06_validate_paralleltargeting.R @@ -1,39 +1,39 @@ -# Shariati paper -# 1. Target oct4 binding site 137-151 nt upstream of Nanog TSS -# 2. Target Utf1 gene - -# Nanog: three isoforms, each with a different TSS -txdb <- TxDb.Mmusculus.UCSC.mm10.knownGene::TxDb.Mmusculus.UCSC.mm10.knownGene -AnnotationDbi::keytypes(txdb) -ensdb <- AnnotationHub::AnnotationHub()[["AH75036"]] #EnsDb.Mmusculus.v98 -ensembldb::keytypes(ensdb) -ensembldb::columns(ensdb) -ensembldb::select(ensdb, 'Nanog', keytype = 'GENENAME', columns = ensembldb::columns(ensdb)) -ensembldb::select(ensdb, 'Nanog', keytype = 'GENENAME', columns = c('SEQNAME', 'SEQSTRAND', 'TXID', 'TXSEQSTART', 'TXCDSSEQSTART', 'TXCDSSEQEND', 'TXSEQEND', 'GENESEQSTART', 'GENESEQEND')) - -# Find spacers in oct4 site upstream of nanog tss -targets <- multicrispr::char_to_granges(c(oct4_nanog='chr6:122707565:+'), bsgenome) %>% - multicrispr::up_flank(-151, -137) -targets$targetstart <- start(targets) -targets$targetend <- end(targets) -targets %<>% multicrispr::extend(-22, +22) -bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 -pattern <- 'GGTCACCTTACAGCTTCTTTTGCATTACAATGTCCATGGTGG' -BSgenome::getSeq(bsgenome, targets, as.character=TRUE) %>% -stringi::stri_detect_fixed('GGTCACCTTACAGCTTCTTTTGCATTACAATGTCCATGGTGG') -spacers <- multicrispr::find_spacers(targets, bsgenome) -spacers %<>% multicrispr:::add_genome_counts(bsgenome) -reticulate::use_condaenv('azienv') -spacers %<>% multicrispr::add_efficiency(bsgenome, method = 'Doench2016') - -# Find spacers in oct4 site downstream of Utf1 -ensembldb::select(ensdb, 'Utf1', keytype = 'GENENAME', columns = c('SEQNAME', 'SEQSTRAND', 'TXID', 'TXSEQSTART', 'TXCDSSEQSTART', 'TXCDSSEQEND', 'TXSEQEND', 'GENESEQSTART', 'GENESEQEND')) -targets <- multicrispr::char_to_granges(c(oct4_utf1='chr7:139943789:+'), bsgenome) %>% - multicrispr::down_flank(+1825, +1825) -targets$targetstart <- start(targets) -targets$targetend <- end(targets) -targets %<>% multicrispr::extend(-100, +100) -BSgenome::getSeq(bsgenome, targets) %>% -#Biostrings::reverseComplement() %>% -as.character() %>% -stringi::stri_detect_fixed('GTTGTTATGCTAGTGAAGTGC') +# Shariati paper +# 1. Target oct4 binding site 137-151 nt upstream of Nanog TSS +# 2. Target Utf1 gene + +# Nanog: three isoforms, each with a different TSS +txdb <- TxDb.Mmusculus.UCSC.mm10.knownGene::TxDb.Mmusculus.UCSC.mm10.knownGene +AnnotationDbi::keytypes(txdb) +ensdb <- AnnotationHub::AnnotationHub()[["AH75036"]] #EnsDb.Mmusculus.v98 +ensembldb::keytypes(ensdb) +ensembldb::columns(ensdb) +ensembldb::select(ensdb, 'Nanog', keytype = 'GENENAME', columns = ensembldb::columns(ensdb)) +ensembldb::select(ensdb, 'Nanog', keytype = 'GENENAME', columns = c('SEQNAME', 'SEQSTRAND', 'TXID', 'TXSEQSTART', 'TXCDSSEQSTART', 'TXCDSSEQEND', 'TXSEQEND', 'GENESEQSTART', 'GENESEQEND')) + +# Find spacers in oct4 site upstream of nanog tss +targets <- multicrispr::char_to_granges(c(oct4_nanog='chr6:122707565:+'), bsgenome) %>% + multicrispr::up_flank(-151, -137) +targets$targetstart <- start(targets) +targets$targetend <- end(targets) +targets %<>% multicrispr::extend(-22, +22) +bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 +pattern <- 'GGTCACCTTACAGCTTCTTTTGCATTACAATGTCCATGGTGG' +BSgenome::getSeq(bsgenome, targets, as.character=TRUE) %>% +stringi::stri_detect_fixed('GGTCACCTTACAGCTTCTTTTGCATTACAATGTCCATGGTGG') +spacers <- multicrispr::find_spacers(targets, bsgenome) +spacers %<>% multicrispr:::add_genome_counts(bsgenome) +reticulate::use_condaenv('azienv') +spacers %<>% multicrispr::add_efficiency(bsgenome, method = 'Doench2016') + +# Find spacers in oct4 site downstream of Utf1 +ensembldb::select(ensdb, 'Utf1', keytype = 'GENENAME', columns = c('SEQNAME', 'SEQSTRAND', 'TXID', 'TXSEQSTART', 'TXCDSSEQSTART', 'TXCDSSEQEND', 'TXSEQEND', 'GENESEQSTART', 'GENESEQEND')) +targets <- multicrispr::char_to_granges(c(oct4_utf1='chr7:139943789:+'), bsgenome) %>% + multicrispr::down_flank(+1825, +1825) +targets$targetstart <- start(targets) +targets$targetend <- end(targets) +targets %<>% multicrispr::extend(-100, +100) +BSgenome::getSeq(bsgenome, targets) %>% +#Biostrings::reverseComplement() %>% +as.character() %>% +stringi::stri_detect_fixed('GTTGTTATGCTAGTGAAGTGC') diff --git a/inst/scipts/06_validate_pe.R b/inst/scipts/06_validate_pe.R index 6d5485df2b5415d8d4e39000b40a064ee090cf3d..3b9755f706646bcfdfaa4a17599ea96f8c8881a4 100644 --- a/inst/scipts/06_validate_pe.R +++ b/inst/scipts/06_validate_pe.R @@ -1,129 +1,129 @@ -require(magrittr) -require(data.table) -require(multicrispr) - -bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -x <- multicrispr::char_to_granges( - c( PRNP = 'chr20:4699600:+', # snp - HBB = 'chr11:5227002:-', # snp - HEXA = 'chr15:72346579:-'), # ins - bsgenome = bsgenome) -spacers <- multicrispr::find_pe_spacers(x, bsgenome) -spacers['HBB_1'] - # CATGGTGCATCTGACTCCTG # HBB_1 C->T, extra nucleotide - # GCATGGTGCACCTGACTCCTG # Anzalone -spacers['HEXA_3'] - # TACCTGAACCGTATATCCTA # HEXA_3 - # GTACCTGAACCGTATATCCTA # Anzalone -spacers['PRNP_4'] - # GCAGTGGTGGGGGGCCTTGG # PRNP_4 - # GCAGTGGTGGGGGGCCTTGG # Anzalone - -spacers %<>% sort(ignore.strand=TRUE) -spacers$set <- ifelse(names(spacers) %in% c('HBB_1', 'HEXA_3', 'PRNP_4'), 'anzalone', 'multicrispr') - -x <- list(multicrispr = names(subset(spacers, targetname=='HBB')), - anzalone = names(subset(spacers, targetname=='HBB' & set=='anzalone'))) -plot_venn <- function(x, title=''){ - names(x) %<>% paste0(' (', vapply(x, length, integer(1)), ')') - p <- VennDiagram::venn.diagram( - x, - filename = NULL, - fill = c("#00BFC4", "#F8766D", "#00BA38")[seq_along(x)], - col = c("#00BFC4", "#F8766D", "#00BA38")[seq_along(x)], - cat.pos = rep( 0, length(x)), - cat.dist = rep(-0.1, length(x)), - #cat.col = c(multicrispr = "#00BFC4", anzalone = "#F8766D"), - scaled = FALSE, - main = title, - main.pos = c(0.5, 1.06)) - grid::grid.draw(p) - p -} - -do_plot_venn <- function(selectedtarget){ - grid::grobTree( - plot_venn( - list(multicrispr = names(subset(spacers, targetname==selectedtarget)), - Anzalone = names(subset(spacers, targetname==selectedtarget & set=='anzalone'))), - title = selectedtarget)) -} - -p1 <- grid::grobTree(do_plot_venn('HBB')) -p2 <- grid::grobTree(do_plot_venn('HEXA')) -p3 <- grid::grobTree(do_plot_venn('PRNP')) -p_pe_venn <- gridExtra::grid.arrange(p1, p2, p3, layout_matrix = matrix(1:3, nrow=1)) -grid::grid.draw(p_pe_venn) - -spacers$in_anzalone <- spacers$set=='anzalone' -multicrispr::plot_intervals(spacers, facet_var = c('seqnames','targetname'), - size_var = 'in_anzalone') - -spacers %<>% add_efficiency(bsgenome, 'Doench2016') -ggplot2::ggplot(as.data.table(spacers), ggplot2::aes(x=in_anzalone, y = Doench2016, color=set)) + -ggplot2::geom_point() + ggplot2::facet_wrap(~ targetname) + ggplot2::theme_bw() - - -spacers %<>% add_genome_counts(bsgenome) -p_pe_on <- ggplot2::ggplot(as.data.table(spacers), ggplot2::aes(y=as.factor(as.character(G0-1)), x = Doench2016, color=set)) + - ggplot2::geom_point(size = 4, shape = 15, alpha=0.6) + - ggplot2::facet_wrap(~ targetname) + - ggplot2::theme_bw() + - ggplot2::ylab('Offtarget matches') + - ggplot2::guides(color = FALSE) - -spacers$unique <- spacers$G0==1 -reticulate::use_condaenv('azienv') -spacers %<>% add_efficiency(bsgenome, method = 'Doench2016') -p <- multicrispr::plot_intervals( - spacers, facet_var = c('seqnames', 'targetname'), - size_var = 'anzalone') - - -p + ggplot2::scale_alpha_manual(values = c(`TRUE` = 1, `FALSE` = 0.5)) - -p <- multicrispr::plot_intervals( - spacers, facet_var = c('seqnames', 'targetname'), - alpha_var = 'unique', - size_var = 'anzalone') -p + ggplot2::scale_alpha_manual(values = c(`TRUE` = 1, `FALSE` = 0.4)) - -# DNMT1 - ensdb <- multicrispr::EnsDb.Hsapiens.v98() - ensdb %<>% filter(UniprotMappingTypeFilter('DIRECT', condition = "==")) - ensdb %<>% filter(UniprotDbFilter('SWISSPROT', condition = "==")) - ensembldb::columns(ensdb) - mycolumns <- c( - 'UNIPROTID', 'PROTEINID', 'TXID', - 'SEQCOORDSYSTEM', 'SEQNAME', 'SEQSTRAND', - 'GENESEQSTART', 'GENESEQEND', - 'TXSEQSTART', 'TXSEQEND', 'TXCDSSEQSTART', 'TXCDSSEQEND', - 'PROTEINSEQUENCE') - dnmt1 <- ensembldb::select(ensdb, 'DNMT1', mycolumns, 'SYMBOL') - -x <- char_to_granges('chr19:10133346-10195135:-', bsgenome) -x %<>% multicrispr::add_seq(bsgenome) -x$seq %>% Biostrings::DNAString() %>% Biostrings::reverseComplement() %>% stringi::stri_detect_fixed('GCGGGCTGGAGCTGTTCGCGC') - -Biostrings::matchPattern(Biostrings::DNAString('GCGGGCTGGAGCTGTTCGCGC'), bsgenome$chr19, max.mismatch = 2) - - -x %<>% multicrispr::extend(-200, 200) -x %<>% multicrispr::add_seq(bsgenome) -x$seq %>% stringi::stri_locate_all_fixed('GTACCTGAACCGTATATCCTA') -char_to_granges( GenomicRanges::end(x)+1-187, - GenomicRanges::end(x)+1-207, - seqinfo = BSgenome::seqinfo(bsgenome)) -BSgenome::getSeq(bsgenome, 'chr15', 72346577, 72346597, strand='-') - -AnnotationDbi::select(org.Hs.eg.db::org.Hs.eg.db, 'HEXA', keytype = 'SYMBOL', columns = 'ENTREZID') # 3073 -txdb <- TxDb.Hsapiens.UCSC.hg38.knownGene::TxDb.Hsapiens.UCSC.hg38.knownGene -AnnotationDbi::keytypes(txbd) -AnnotationDbi::select(txdb, keys = '3073', keytype = 'GENEID', columns = AnnotationDbi::columns(txdb)) - - -GTACCTGAACCGTATATCCTA -ATCCTTCCAGTCAGGGCCAT - -BSgenome::getSeq(bsgenome, 'chr15', 72346580, 72346583, strand='+') -BSgenome::getSeq(bsgenome, 'chr15', 72346580, 72346583, strand='-') +require(magrittr) +require(data.table) +require(multicrispr) + +bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +x <- multicrispr::char_to_granges( + c( PRNP = 'chr20:4699600:+', # snp + HBB = 'chr11:5227002:-', # snp + HEXA = 'chr15:72346579:-'), # ins + bsgenome = bsgenome) +spacers <- multicrispr::find_pe_spacers(x, bsgenome) +spacers['HBB_1'] + # CATGGTGCATCTGACTCCTG # HBB_1 C->T, extra nucleotide + # GCATGGTGCACCTGACTCCTG # Anzalone +spacers['HEXA_3'] + # TACCTGAACCGTATATCCTA # HEXA_3 + # GTACCTGAACCGTATATCCTA # Anzalone +spacers['PRNP_4'] + # GCAGTGGTGGGGGGCCTTGG # PRNP_4 + # GCAGTGGTGGGGGGCCTTGG # Anzalone + +spacers %<>% sort(ignore.strand=TRUE) +spacers$set <- ifelse(names(spacers) %in% c('HBB_1', 'HEXA_3', 'PRNP_4'), 'anzalone', 'multicrispr') + +x <- list(multicrispr = names(subset(spacers, targetname=='HBB')), + anzalone = names(subset(spacers, targetname=='HBB' & set=='anzalone'))) +plot_venn <- function(x, title=''){ + names(x) %<>% paste0(' (', vapply(x, length, integer(1)), ')') + p <- VennDiagram::venn.diagram( + x, + filename = NULL, + fill = c("#00BFC4", "#F8766D", "#00BA38")[seq_along(x)], + col = c("#00BFC4", "#F8766D", "#00BA38")[seq_along(x)], + cat.pos = rep( 0, length(x)), + cat.dist = rep(-0.1, length(x)), + #cat.col = c(multicrispr = "#00BFC4", anzalone = "#F8766D"), + scaled = FALSE, + main = title, + main.pos = c(0.5, 1.06)) + grid::grid.draw(p) + p +} + +do_plot_venn <- function(selectedtarget){ + grid::grobTree( + plot_venn( + list(multicrispr = names(subset(spacers, targetname==selectedtarget)), + Anzalone = names(subset(spacers, targetname==selectedtarget & set=='anzalone'))), + title = selectedtarget)) +} + +p1 <- grid::grobTree(do_plot_venn('HBB')) +p2 <- grid::grobTree(do_plot_venn('HEXA')) +p3 <- grid::grobTree(do_plot_venn('PRNP')) +p_pe_venn <- gridExtra::grid.arrange(p1, p2, p3, layout_matrix = matrix(1:3, nrow=1)) +grid::grid.draw(p_pe_venn) + +spacers$in_anzalone <- spacers$set=='anzalone' +multicrispr::plot_intervals(spacers, facet_var = c('seqnames','targetname'), + size_var = 'in_anzalone') + +spacers %<>% add_efficiency(bsgenome, 'Doench2016') +ggplot2::ggplot(as.data.table(spacers), ggplot2::aes(x=in_anzalone, y = Doench2016, color=set)) + +ggplot2::geom_point() + ggplot2::facet_wrap(~ targetname) + ggplot2::theme_bw() + + +spacers %<>% add_genome_counts(bsgenome) +p_pe_on <- ggplot2::ggplot(as.data.table(spacers), ggplot2::aes(y=as.factor(as.character(G0-1)), x = Doench2016, color=set)) + + ggplot2::geom_point(size = 4, shape = 15, alpha=0.6) + + ggplot2::facet_wrap(~ targetname) + + ggplot2::theme_bw() + + ggplot2::ylab('Offtarget matches') + + ggplot2::guides(color = FALSE) + +spacers$unique <- spacers$G0==1 +reticulate::use_condaenv('azienv') +spacers %<>% add_efficiency(bsgenome, method = 'Doench2016') +p <- multicrispr::plot_intervals( + spacers, facet_var = c('seqnames', 'targetname'), + size_var = 'anzalone') + + +p + ggplot2::scale_alpha_manual(values = c(`TRUE` = 1, `FALSE` = 0.5)) + +p <- multicrispr::plot_intervals( + spacers, facet_var = c('seqnames', 'targetname'), + alpha_var = 'unique', + size_var = 'anzalone') +p + ggplot2::scale_alpha_manual(values = c(`TRUE` = 1, `FALSE` = 0.4)) + +# DNMT1 + ensdb <- multicrispr::EnsDb.Hsapiens.v98() + ensdb %<>% filter(UniprotMappingTypeFilter('DIRECT', condition = "==")) + ensdb %<>% filter(UniprotDbFilter('SWISSPROT', condition = "==")) + ensembldb::columns(ensdb) + mycolumns <- c( + 'UNIPROTID', 'PROTEINID', 'TXID', + 'SEQCOORDSYSTEM', 'SEQNAME', 'SEQSTRAND', + 'GENESEQSTART', 'GENESEQEND', + 'TXSEQSTART', 'TXSEQEND', 'TXCDSSEQSTART', 'TXCDSSEQEND', + 'PROTEINSEQUENCE') + dnmt1 <- ensembldb::select(ensdb, 'DNMT1', mycolumns, 'SYMBOL') + +x <- char_to_granges('chr19:10133346-10195135:-', bsgenome) +x %<>% multicrispr::add_seq(bsgenome) +x$seq %>% Biostrings::DNAString() %>% Biostrings::reverseComplement() %>% stringi::stri_detect_fixed('GCGGGCTGGAGCTGTTCGCGC') + +Biostrings::matchPattern(Biostrings::DNAString('GCGGGCTGGAGCTGTTCGCGC'), bsgenome$chr19, max.mismatch = 2) + + +x %<>% multicrispr::extend(-200, 200) +x %<>% multicrispr::add_seq(bsgenome) +x$seq %>% stringi::stri_locate_all_fixed('GTACCTGAACCGTATATCCTA') +char_to_granges( GenomicRanges::end(x)+1-187, + GenomicRanges::end(x)+1-207, + seqinfo = BSgenome::seqinfo(bsgenome)) +BSgenome::getSeq(bsgenome, 'chr15', 72346577, 72346597, strand='-') + +AnnotationDbi::select(org.Hs.eg.db::org.Hs.eg.db, 'HEXA', keytype = 'SYMBOL', columns = 'ENTREZID') # 3073 +txdb <- TxDb.Hsapiens.UCSC.hg38.knownGene::TxDb.Hsapiens.UCSC.hg38.knownGene +AnnotationDbi::keytypes(txbd) +AnnotationDbi::select(txdb, keys = '3073', keytype = 'GENEID', columns = AnnotationDbi::columns(txdb)) + + +GTACCTGAACCGTATATCCTA +ATCCTTCCAGTCAGGGCCAT + +BSgenome::getSeq(bsgenome, 'chr15', 72346580, 72346583, strand='+') +BSgenome::getSeq(bsgenome, 'chr15', 72346580, 72346583, strand='-') diff --git a/inst/scipts/07_validate_brunello.R b/inst/scipts/07_validate_brunello.R index 9dc9c3456f4287415be100f0b429f8a46c0ef863..20fc4b2052aea1b3858562c06f981dcbc14edbb5 100644 --- a/inst/scipts/07_validate_brunello.R +++ b/inst/scipts/07_validate_brunello.R @@ -1,327 +1,327 @@ -# Load functions -#=============== - require(magrittr) - require(reticulate) - use_condaenv('azienv') - import('azimuth') - # require(AnnotationDbi) - # require(BSgenome) - # require(multicrispr) - # require(magrittr) - # require(biomaRt) - # require(data.table) - # require(stringi) -cmessage<- multicrispr:::cmessage -csign <- multicrispr:::csign - -read_brunello_dt <- function(){ - - # Read file - local_brunello_file = '../multicrisprout/brunello/brunello.txt' - brunello_url <- paste0('https://www.addgene.org/static/cms/filer_public/', - '8b/4c/8b4c89d9-eac1-44b2-bb2f-8fea95672705/', - 'broadgpp-brunello-library-contents.txt') - if (!file.exists(local_brunello_file)){ - download.file(brunello_url, local_brunello_file)} - brunello <- data.table::fread(local_brunello_file) - cmessage('\t%d gRNAs described in Brunello txt file', nrow(brunello)) - - # Rm positive controls - n0 <- nrow(brunello) - brunello %<>% extract(!is.na(`Target Gene ID`)) - ntranscripts <- length(unique(brunello$`Target Transcript`)) - ngenes <- length(unique(brunello$`Target Gene Symbol`)) - n1 <- nrow(brunello) - cmessage(paste0('\t%d gRNAs targeting %d transcripts ', - '(%d genes), after removing positive controls'), - n1, ntranscripts, ngenes) - - # Add refseq mrna values - brunello[, refseq_mrna := `Target Transcript` %>% substr(1, nchar(.)-2) ] - - # Return - brunello -} - -load_ensmart <- function(){ - ensembl_dataset <- 'hsapiens_gene_ensembl' - ensembl_version <- 99 - cmessage('\t\tUse biomaRt: %s version %s', ensembl_dataset, ensembl_version) - ensmart <- biomaRt::useEnsembl( - 'ensembl', dataset=ensembl_dataset, version=ensembl_version) - ensmart -} - -add_brunello_seqnames <- function(brunello, ensmart){ - - chromdt <- suppressMessages( - biomaRt::getBM( attributes = c('refseq_mrna', 'chromosome_name'), - filters = 'refseq_mrna', - values = unique(brunello$refseq_mrna), - mart = ensmart)) %>% - data.table::as.data.table() - canonical_chromosomes <- GenomeInfoDb::standardChromosomes( - BSgenome.Hsapiens.NCBI.GRCh38::BSgenome.Hsapiens.NCBI.GRCh38) - chromdt %<>% extract(chromosome_name %in% canonical_chromosomes) - chromdt[, .SD[.N>1], by='refseq_mrna'] - chromdt %>% data.table::setnames('chromosome_name', 'seqnames') - - brunello %<>% data.table::merge.data.table(chromdt, by = 'refseq_mrna') - cmessage('\t%d gRNAs targeting %d transcripts, after adding canonical chromosome mappings', - nrow(brunello), brunello[, length(unique(refseq_mrna))]) - brunello -} - -add_brunello_strand <- function(brunello, ensmart){ - - # Get strand mappings - brunello %>% data.table::setnames('Strand', 'sense') - strandt <- suppressMessages( - biomaRt::getBM( attributes = c('refseq_mrna', 'strand'), - filters = 'refseq_mrna', - values = unique(brunello$refseq_mrna), - mart = ensmart)) %>% - data.table::as.data.table() - strandt %<>% extract(, .SD[.N==1], by = 'refseq_mrna') - strandt[, strand := vapply(strand, multicrispr::csign, character(1))] - brunello %<>% data.table::merge.data.table(strandt, by = 'refseq_mrna') - # 76 441 -> 75 463 -> 75 244 - cmessage('\t%d gRNAs targeting %d transcripts, after adding unique strand mappings', - nrow(brunello), brunello[, length(unique(refseq_mrna))]) - brunello[sense=='antisense', strand := ifelse(strand=='+', '-', '+')] - brunello$sense <- NULL - brunello -} - -forge_spacer_ranges <- function(brunello){ - - # Grange - brunello %>% data.table::setnames(c('Position of Base After Cut (1-based)'), c( 'start')) - brunello %>% extract(, end := start) - bsgenome <- BSgenome.Hsapiens.NCBI.GRCh38::BSgenome.Hsapiens.NCBI.GRCh38 - brunello <- dt2gr(brunello, BSgenome::seqinfo(bsgenome)[GenomeInfoDb::standardChromosomes(bsgenome)]) - - # Extend - brunello[GenomicRanges::strand(brunello)=='+'] %<>% extend(-17, +2) - brunello[GenomicRanges::strand(brunello)=='-'] %<>% extend(-16, +3) - brunello$crisprspacer <- BSgenome::getSeq(bsgenome, brunello, as.character=TRUE) - brunello %<>% subset(`sgRNA Target Sequence`==crisprspacer) - # Drop 12 non-matches (due to sequence changes). 75 244 -> 75 232 - brunello$`sgRNA Target Sequence` <- NULL - cmessage('\t%d gRNAs targeting %d transcripts, after removing non-matching spacers', - length(brunello), length(unique(brunello$refseq_mrna))) - - # Harmonize/drop names - names(mcols(brunello)) %<>% - stri_replace_first_fixed('Target Context Sequence', 'crisprcontext') %>% - stri_replace_first_fixed('PAM Sequence', 'crisprpam') %>% - stri_replace_first_fixed('Rule Set 2 score', 'Doench2016') - brunello$`Genomic Sequence` <- brunello$`Target Gene ID` <- NULL - brunello$`Exon Number` <- NULL - brunello$crisprname <- uniquify(brunello$refseq_mrna) - names(brunello) <- brunello$crisprname - - # Return - brunello -} - -reconstruct_brunello_spacers <- function(){ - brunello <- read_brunello_dt() - ensmart <- load_ensmart() - brunello %<>% add_brunello_seqnames(ensmart) - brunello %<>% add_brunello_strand(ensmart) - brunello <- forge_spacer_ranges(brunello) - # Are context seqs identical? Yes! - #all(brunello$crisprcontext == (brunello %>% extend(-4,+6) %>% getSeq(bsgenome, ., as.character=TRUE))) - brunello -} - -validate_brunello_spacers <- function(brunello){ - - # Find spacers - message('Find Brunello spacers') - bsgenome <- BSgenome::getBSgenome(genome = genome(brunello)[1]) - spacers <- extend(brunello, 0, +3) %>% - multicrispr::find_spacers(bsgenome, plot = FALSE) - # All brunello spacers are found - # 4 813 additional spacers are found on rev strands - - # Venn - spcoords <- unname(as.character(granges(spacers))) - brcoords <- unname(as.character(granges(brunello))) - autonomics.plot::plot_venn(list(multicrispr=spcoords, brunello=brcoords)) - spacers %<>% extract(spcoords %in% brcoords) # Limit to Brunello spacers - - # Doench score - message('Doench 2016 score') - names(mcols(spacers)) %<>% stringi::stri_replace_first_fixed('Doench2016', 'BrunelloDoench2016') - #brunello_spacers[1:10] %>% add_efficiency(bsgenome, 'Doench2016', plot = FALSE) - spacers %<>% add_efficiency(bsgenome, 'Doench2016', plot = FALSE, chunksize=10000) - plot(spacers$BrunelloDoench2016, spacers$Doench2016) - plot(density(spacers$Doench2016)) - - # Add genome counts - GenomeInfoDb::seqlevelsStyle(spacers) <- 'UCSC' - bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 - spacers %<>% add_genome_counts(bsgenome, mismatches=1) - table(spacers$G0) - spacers$unique <- spacers$G0==1 - autonomics.plot::plot_venn(list( - brunello = spacers$crisprname, - unique = subset(spacers, G0==1)$crisprname)) -} - -find_enclosing_exons <- function(spacers){ - - # Load canonical exons - ensdb <- AnnotationHub::AnnotationHub()[["AH78783"]] - exons <- ensembldb::exons(ensdb) - exons %<>% extract( as.character(seqnames(exons)) %in% - as.character(GenomicRanges::seqnames(spacers))) - - # Find overlaps - exons %<>% gr2dt() %>% dt2gr(seqinfo(exons )[seqlevelsInUse(exons )]) - spacers %<>% gr2dt() %>% dt2gr(seqinfo(spacers)[seqlevelsInUse(spacers)]) - res <- findOverlaps(exons, extend(spacers, 0, +3), ignore.strand = TRUE, minoverlap = 23) - - # Exon spacers - exonspacers <- spacers %>% extract(unique(subjectHits(res))) - cmessage('\t%d exon spacers', length(exonspacers)) - - # Spacer exons - spacerexons <- exons %>% extract(queryHits(res)) - spacerexons$targetname <- names(spacers)[subjectHits(res)] - spacerexons %<>% gr2dt() - spacerexons %<>% extract(, .SD[width == min(width)], by = 'targetname') # 75 229 / - spacerexons %<>% extract(, .SD[1], by = 'targetname') - spacerexons %<>% dt2gr(seqinfo(exons)) - cmessage('\t%d spacer exons', length(spacerexons)) - - # Return - return(spacerexons) - -} - -# Get Brunello exons -#=================== - brunello <- reconstruct_brunello_spacers() - brunello_spacers <- validate_brunello_spacers(brunello) - brunello_exons <- find_enclosing_exons(brunello) - brunello %<>% extract(brunello_exons$targetname) - -# Find exon spacers -#================== - bsgenome <- BSgenome.Hsapiens.NCBI.GRCh38::BSgenome.Hsapiens.NCBI.GRCh38 - exonspacers <- find_spacers(brunello_exons, bsgenome, plot = FALSE) # 2 583 378 - saveRDS(exonspacers, '../multicrisprout/brunello/exonspacers0.rds') - saveRDS(exonspacers, 'Z:/abhagwa/multicrisprout/brunello/exonspacers0.rds') - -# Score exon spacers -#=================== - require(reticulate) - use_condaenv('azienv') - import('azimuth') - require(multicrispr) - require(magrittr) - exonspacers <- readRDS('../multicrisprout/brunello/exonspacers0.rds') - bsgenome <- BSgenome.Hsapiens.NCBI.GRCh38::BSgenome.Hsapiens.NCBI.GRCh38 - exonspacers %<>% add_efficiency(bsgenome, 'Doench2016', chunksize=50000, plot = FALSE) - saveRDS(exonspacers, '../multicrisprout/brunello/exonspacers1.rds') - -# (Mis)match exon spacers. Execute in two disjunct chunks to save memory. -#======================================================================== - exonspacers <- readRDS('../multicrisprout/brunello/exonspacers1.rds') - exonspacers <- readRDS('Z:/abhagwa/multicrisprout/brunello/exonspacers1.rds') - bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 - GenomeInfoDb::seqlevelsStyle(exonspacers) <- 'UCSC' - outdir = '../multicrisprout/brunello' - exonspacers %<>% extract(order(.$crisprspacer)) - xsp1 <- exonspacers[seq(1,2583378/2)] - xsp2 <- exonspacers[seq(2583378/2+1, 2583378)] - autonomics.plot::plot_venn(list(xsp1=xsp1$crisprspacer, xsp2=xsp2$crisprspacer)) - xsp1 %<>% add_genome_counts(bsgenome, outdir = outdir, mismatches = 1, - indexedgenomesdir = '../multicrisprout/indexedgenomes') - xsp2 %<>% add_genome_counts(bsgenome, outdir = outdir, mismatches = 1, - indexedgenomesdir = '../multicrisprout/indexedgenomes') - exonspacers <- c(xsp1, xsp2) - GenomeInfoDb::seqlevelsStyle(exonspacers) <- 'NCBI' - #saveRDS(exonspacers, '../multicrisprout/brunello/exonspacers2.rds') - #exonspacers <- readRDS('../multicrisprout/brunello/exonspacers.rds') - -# Plot validation results -#======================== - # Venn - exonspacers <- readRDS('Z:/abhagwa/multicrisprout/brunello/exonspacers.rds') - brunellocoords <- unname(as.character(granges(brunello))) - exonspacercoords <- unname(as.character(granges(exonspacers))) - x <- list(multicrispr = exonspacercoords, Brunello = brunellocoords) - p_brunello_venn <- autonomics::plot_venn(x, title = 'Brunello spacer ranges') - x <- list(multicrispr = unique(exonspacers$crisprspacer), Brunello = unique(brunello$crisprspacer)) - p_brunello_venn2 <- autonomics::plot_venn(x, title = 'Brunello spacer seqs') - - # Densities - # multicrispr::plot_intervals(subset(exonspacers, seqnames==1)) - exonspacers$set <- ifelse(exonspacers$in_brunello, 'brunello', 'multicrispr') - p_brunello_on <- - ggplot2::ggplot() + - ggplot2::geom_density( data = data.table::as.data.table(exonspacers), - mapping = ggplot2::aes(x = Doench2016), - fill = "#00BFC4", alpha = 0.5) + - ggplot2::geom_density( data = data.table::as.data.table(subset(exonspacers, in_brunello==TRUE)), - mapping = ggplot2::aes(x = Doench2016), - fill = "#F8766D", alpha = 0.5) + - ggplot2::theme_bw() + - ggplot2::guides(color = FALSE) - - # Genome (mis)matches - color_values <- c(multicrispr = "#00BFC4", brunello = "#F8766D", unique = "#00BA38") - #autonomics.plot::make_gg_colors(c('brunello', 'multicrispr'), show=TRUE) - multioff <- table(exonspacers$G0) - names(multioff) %<>% as.numeric() %>% magrittr::subtract(1) %>% as.character() - total <- sum(multioff) - multioff[1] <- 100 * (sum(multioff[1:length(multioff)])) / total - multioff[2] <- 100 * (sum(multioff[2:length(multioff)])) / total - multioff[3] <- 100 * (sum(multioff[3:length(multioff)])) / total - multioff[4] <- 100 * (sum(multioff[4:length(multioff)])) / total - multioff %<>% extract(1:4) - - broff <- table(subset(exonspacers, in_brunello==TRUE)$G0) - names(broff) %<>% as.numeric() %>% magrittr::subtract(1) %>% as.character() - total <- sum(broff) - broff[1] <- 100 * (sum(broff[1:length(broff)])) / total - broff[2] <- 100 * (sum(broff[2:length(broff)])) / total - broff[3] <- 100 * (sum(broff[3:length(broff)])) / total - broff[4] <- 100 * (sum(broff[4:length(broff)])) / total - broff %<>% extract(1:4) - - dt <- data.table::data.table( - x = c('>=1', '>=2', '>=3', '>=1', '>=2', '>=3'), - y = c(multioff[-1], broff[-1]), - set = c(rep('multicrispr', each=3), rep('brunello', each=3))) - p_brunello_off<-ggplot2::ggplot(dt) + - ggplot2::geom_col(ggplot2::aes(x=x, y=y, fill =set), position = 'dodge') + - ggplot2::xlab('Offtarget matches') + - ggplot2::ylab('Percentage of spacers') + - ggplot2::theme_bw() + - ggplot2::guides(fill=FALSE) - -require(multipanelfigure) - -fig <- multi_panel_figure(columns = 10, rows = 3, width = 500, height = 250, row_spacing = 10, column_spacing = 10, panel_label_type = 'none') -fig <- fill_panel(fig, p_pe_venn, row = 1, column = 1:5 ) -fig <- fill_panel(fig, p_pe_on, row = 2, column = 1:5 ) -fig <- fill_panel(fig, p_parallel_venn, row = 1, column = 6:7 ) -fig <- fill_panel(fig, p_parallel_on, row = 2, column = 6:7 ) -fig <- fill_panel(fig, p_brunello_venn, row = 1, column = 8:10 ) -fig <- fill_panel(fig, p_brunello_on, row = 2, column = 8:10 ) -fig <- fill_panel(fig, p_brunello_off, row = 3, column = 8:10) -fig - -require(Cairo) -file_local <- '../multicrisprout/validation.pdf' -file_agnerds <- 'Z:\\abhagwa\\multicrisprmanuscript\\figures\\validation.pdf' -cairo_pdf(file_local, width = figure_width(fig, unit_to = 'inch'), height = figure_height(fig, unit_to = 'inch')) -#pdf(filename, width = figure_width(fig, unit_to = 'inch'), height = figure_height(fig, unit_to = 'inch')) -print(fig) -dev.off() - +# Load functions +#=============== + require(magrittr) + require(reticulate) + use_condaenv('azienv') + import('azimuth') + # require(AnnotationDbi) + # require(BSgenome) + # require(multicrispr) + # require(magrittr) + # require(biomaRt) + # require(data.table) + # require(stringi) +cmessage<- multicrispr:::cmessage +csign <- multicrispr:::csign + +read_brunello_dt <- function(){ + + # Read file + local_brunello_file = '../multicrisprout/brunello/brunello.txt' + brunello_url <- paste0('https://www.addgene.org/static/cms/filer_public/', + '8b/4c/8b4c89d9-eac1-44b2-bb2f-8fea95672705/', + 'broadgpp-brunello-library-contents.txt') + if (!file.exists(local_brunello_file)){ + download.file(brunello_url, local_brunello_file)} + brunello <- data.table::fread(local_brunello_file) + cmessage('\t%d gRNAs described in Brunello txt file', nrow(brunello)) + + # Rm positive controls + n0 <- nrow(brunello) + brunello %<>% extract(!is.na(`Target Gene ID`)) + ntranscripts <- length(unique(brunello$`Target Transcript`)) + ngenes <- length(unique(brunello$`Target Gene Symbol`)) + n1 <- nrow(brunello) + cmessage(paste0('\t%d gRNAs targeting %d transcripts ', + '(%d genes), after removing positive controls'), + n1, ntranscripts, ngenes) + + # Add refseq mrna values + brunello[, refseq_mrna := `Target Transcript` %>% substr(1, nchar(.)-2) ] + + # Return + brunello +} + +load_ensmart <- function(){ + ensembl_dataset <- 'hsapiens_gene_ensembl' + ensembl_version <- 99 + cmessage('\t\tUse biomaRt: %s version %s', ensembl_dataset, ensembl_version) + ensmart <- biomaRt::useEnsembl( + 'ensembl', dataset=ensembl_dataset, version=ensembl_version) + ensmart +} + +add_brunello_seqnames <- function(brunello, ensmart){ + + chromdt <- suppressMessages( + biomaRt::getBM( attributes = c('refseq_mrna', 'chromosome_name'), + filters = 'refseq_mrna', + values = unique(brunello$refseq_mrna), + mart = ensmart)) %>% + data.table::as.data.table() + canonical_chromosomes <- GenomeInfoDb::standardChromosomes( + BSgenome.Hsapiens.NCBI.GRCh38::BSgenome.Hsapiens.NCBI.GRCh38) + chromdt %<>% extract(chromosome_name %in% canonical_chromosomes) + chromdt[, .SD[.N>1], by='refseq_mrna'] + chromdt %>% data.table::setnames('chromosome_name', 'seqnames') + + brunello %<>% data.table::merge.data.table(chromdt, by = 'refseq_mrna') + cmessage('\t%d gRNAs targeting %d transcripts, after adding canonical chromosome mappings', + nrow(brunello), brunello[, length(unique(refseq_mrna))]) + brunello +} + +add_brunello_strand <- function(brunello, ensmart){ + + # Get strand mappings + brunello %>% data.table::setnames('Strand', 'sense') + strandt <- suppressMessages( + biomaRt::getBM( attributes = c('refseq_mrna', 'strand'), + filters = 'refseq_mrna', + values = unique(brunello$refseq_mrna), + mart = ensmart)) %>% + data.table::as.data.table() + strandt %<>% extract(, .SD[.N==1], by = 'refseq_mrna') + strandt[, strand := vapply(strand, multicrispr::csign, character(1))] + brunello %<>% data.table::merge.data.table(strandt, by = 'refseq_mrna') + # 76 441 -> 75 463 -> 75 244 + cmessage('\t%d gRNAs targeting %d transcripts, after adding unique strand mappings', + nrow(brunello), brunello[, length(unique(refseq_mrna))]) + brunello[sense=='antisense', strand := ifelse(strand=='+', '-', '+')] + brunello$sense <- NULL + brunello +} + +forge_spacer_ranges <- function(brunello){ + + # Grange + brunello %>% data.table::setnames(c('Position of Base After Cut (1-based)'), c( 'start')) + brunello %>% extract(, end := start) + bsgenome <- BSgenome.Hsapiens.NCBI.GRCh38::BSgenome.Hsapiens.NCBI.GRCh38 + brunello <- dt2gr(brunello, BSgenome::seqinfo(bsgenome)[GenomeInfoDb::standardChromosomes(bsgenome)]) + + # Extend + brunello[GenomicRanges::strand(brunello)=='+'] %<>% extend(-17, +2) + brunello[GenomicRanges::strand(brunello)=='-'] %<>% extend(-16, +3) + brunello$crisprspacer <- BSgenome::getSeq(bsgenome, brunello, as.character=TRUE) + brunello %<>% subset(`sgRNA Target Sequence`==crisprspacer) + # Drop 12 non-matches (due to sequence changes). 75 244 -> 75 232 + brunello$`sgRNA Target Sequence` <- NULL + cmessage('\t%d gRNAs targeting %d transcripts, after removing non-matching spacers', + length(brunello), length(unique(brunello$refseq_mrna))) + + # Harmonize/drop names + names(mcols(brunello)) %<>% + stri_replace_first_fixed('Target Context Sequence', 'crisprcontext') %>% + stri_replace_first_fixed('PAM Sequence', 'crisprpam') %>% + stri_replace_first_fixed('Rule Set 2 score', 'Doench2016') + brunello$`Genomic Sequence` <- brunello$`Target Gene ID` <- NULL + brunello$`Exon Number` <- NULL + brunello$crisprname <- uniquify(brunello$refseq_mrna) + names(brunello) <- brunello$crisprname + + # Return + brunello +} + +reconstruct_brunello_spacers <- function(){ + brunello <- read_brunello_dt() + ensmart <- load_ensmart() + brunello %<>% add_brunello_seqnames(ensmart) + brunello %<>% add_brunello_strand(ensmart) + brunello <- forge_spacer_ranges(brunello) + # Are context seqs identical? Yes! + #all(brunello$crisprcontext == (brunello %>% extend(-4,+6) %>% getSeq(bsgenome, ., as.character=TRUE))) + brunello +} + +validate_brunello_spacers <- function(brunello){ + + # Find spacers + message('Find Brunello spacers') + bsgenome <- BSgenome::getBSgenome(genome = genome(brunello)[1]) + spacers <- extend(brunello, 0, +3) %>% + multicrispr::find_spacers(bsgenome, plot = FALSE) + # All brunello spacers are found + # 4 813 additional spacers are found on rev strands + + # Venn + spcoords <- unname(as.character(granges(spacers))) + brcoords <- unname(as.character(granges(brunello))) + autonomics.plot::plot_venn(list(multicrispr=spcoords, brunello=brcoords)) + spacers %<>% extract(spcoords %in% brcoords) # Limit to Brunello spacers + + # Doench score + message('Doench 2016 score') + names(mcols(spacers)) %<>% stringi::stri_replace_first_fixed('Doench2016', 'BrunelloDoench2016') + #brunello_spacers[1:10] %>% add_efficiency(bsgenome, 'Doench2016', plot = FALSE) + spacers %<>% add_efficiency(bsgenome, 'Doench2016', plot = FALSE, chunksize=10000) + plot(spacers$BrunelloDoench2016, spacers$Doench2016) + plot(density(spacers$Doench2016)) + + # Add genome counts + GenomeInfoDb::seqlevelsStyle(spacers) <- 'UCSC' + bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 + spacers %<>% add_genome_counts(bsgenome, mismatches=1) + table(spacers$G0) + spacers$unique <- spacers$G0==1 + autonomics.plot::plot_venn(list( + brunello = spacers$crisprname, + unique = subset(spacers, G0==1)$crisprname)) +} + +find_enclosing_exons <- function(spacers){ + + # Load canonical exons + ensdb <- AnnotationHub::AnnotationHub()[["AH78783"]] + exons <- ensembldb::exons(ensdb) + exons %<>% extract( as.character(seqnames(exons)) %in% + as.character(GenomicRanges::seqnames(spacers))) + + # Find overlaps + exons %<>% gr2dt() %>% dt2gr(seqinfo(exons )[seqlevelsInUse(exons )]) + spacers %<>% gr2dt() %>% dt2gr(seqinfo(spacers)[seqlevelsInUse(spacers)]) + res <- findOverlaps(exons, extend(spacers, 0, +3), ignore.strand = TRUE, minoverlap = 23) + + # Exon spacers + exonspacers <- spacers %>% extract(unique(subjectHits(res))) + cmessage('\t%d exon spacers', length(exonspacers)) + + # Spacer exons + spacerexons <- exons %>% extract(queryHits(res)) + spacerexons$targetname <- names(spacers)[subjectHits(res)] + spacerexons %<>% gr2dt() + spacerexons %<>% extract(, .SD[width == min(width)], by = 'targetname') # 75 229 / + spacerexons %<>% extract(, .SD[1], by = 'targetname') + spacerexons %<>% dt2gr(seqinfo(exons)) + cmessage('\t%d spacer exons', length(spacerexons)) + + # Return + return(spacerexons) + +} + +# Get Brunello exons +#=================== + brunello <- reconstruct_brunello_spacers() + brunello_spacers <- validate_brunello_spacers(brunello) + brunello_exons <- find_enclosing_exons(brunello) + brunello %<>% extract(brunello_exons$targetname) + +# Find exon spacers +#================== + bsgenome <- BSgenome.Hsapiens.NCBI.GRCh38::BSgenome.Hsapiens.NCBI.GRCh38 + exonspacers <- find_spacers(brunello_exons, bsgenome, plot = FALSE) # 2 583 378 + saveRDS(exonspacers, '../multicrisprout/brunello/exonspacers0.rds') + saveRDS(exonspacers, 'Z:/abhagwa/multicrisprout/brunello/exonspacers0.rds') + +# Score exon spacers +#=================== + require(reticulate) + use_condaenv('azienv') + import('azimuth') + require(multicrispr) + require(magrittr) + exonspacers <- readRDS('../multicrisprout/brunello/exonspacers0.rds') + bsgenome <- BSgenome.Hsapiens.NCBI.GRCh38::BSgenome.Hsapiens.NCBI.GRCh38 + exonspacers %<>% add_efficiency(bsgenome, 'Doench2016', chunksize=50000, plot = FALSE) + saveRDS(exonspacers, '../multicrisprout/brunello/exonspacers1.rds') + +# (Mis)match exon spacers. Execute in two disjunct chunks to save memory. +#======================================================================== + exonspacers <- readRDS('../multicrisprout/brunello/exonspacers1.rds') + exonspacers <- readRDS('Z:/abhagwa/multicrisprout/brunello/exonspacers1.rds') + bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 + GenomeInfoDb::seqlevelsStyle(exonspacers) <- 'UCSC' + outdir = '../multicrisprout/brunello' + exonspacers %<>% extract(order(.$crisprspacer)) + xsp1 <- exonspacers[seq(1,2583378/2)] + xsp2 <- exonspacers[seq(2583378/2+1, 2583378)] + autonomics.plot::plot_venn(list(xsp1=xsp1$crisprspacer, xsp2=xsp2$crisprspacer)) + xsp1 %<>% add_genome_counts(bsgenome, outdir = outdir, mismatches = 1, + indexedgenomesdir = '../multicrisprout/indexedgenomes') + xsp2 %<>% add_genome_counts(bsgenome, outdir = outdir, mismatches = 1, + indexedgenomesdir = '../multicrisprout/indexedgenomes') + exonspacers <- c(xsp1, xsp2) + GenomeInfoDb::seqlevelsStyle(exonspacers) <- 'NCBI' + #saveRDS(exonspacers, '../multicrisprout/brunello/exonspacers2.rds') + #exonspacers <- readRDS('../multicrisprout/brunello/exonspacers.rds') + +# Plot validation results +#======================== + # Venn + exonspacers <- readRDS('Z:/abhagwa/multicrisprout/brunello/exonspacers.rds') + brunellocoords <- unname(as.character(granges(brunello))) + exonspacercoords <- unname(as.character(granges(exonspacers))) + x <- list(multicrispr = exonspacercoords, Brunello = brunellocoords) + p_brunello_venn <- autonomics::plot_venn(x, title = 'Brunello spacer ranges') + x <- list(multicrispr = unique(exonspacers$crisprspacer), Brunello = unique(brunello$crisprspacer)) + p_brunello_venn2 <- autonomics::plot_venn(x, title = 'Brunello spacer seqs') + + # Densities + # multicrispr::plot_intervals(subset(exonspacers, seqnames==1)) + exonspacers$set <- ifelse(exonspacers$in_brunello, 'brunello', 'multicrispr') + p_brunello_on <- + ggplot2::ggplot() + + ggplot2::geom_density( data = data.table::as.data.table(exonspacers), + mapping = ggplot2::aes(x = Doench2016), + fill = "#00BFC4", alpha = 0.5) + + ggplot2::geom_density( data = data.table::as.data.table(subset(exonspacers, in_brunello==TRUE)), + mapping = ggplot2::aes(x = Doench2016), + fill = "#F8766D", alpha = 0.5) + + ggplot2::theme_bw() + + ggplot2::guides(color = FALSE) + + # Genome (mis)matches + color_values <- c(multicrispr = "#00BFC4", brunello = "#F8766D", unique = "#00BA38") + #autonomics.plot::make_gg_colors(c('brunello', 'multicrispr'), show=TRUE) + multioff <- table(exonspacers$G0) + names(multioff) %<>% as.numeric() %>% magrittr::subtract(1) %>% as.character() + total <- sum(multioff) + multioff[1] <- 100 * (sum(multioff[1:length(multioff)])) / total + multioff[2] <- 100 * (sum(multioff[2:length(multioff)])) / total + multioff[3] <- 100 * (sum(multioff[3:length(multioff)])) / total + multioff[4] <- 100 * (sum(multioff[4:length(multioff)])) / total + multioff %<>% extract(1:4) + + broff <- table(subset(exonspacers, in_brunello==TRUE)$G0) + names(broff) %<>% as.numeric() %>% magrittr::subtract(1) %>% as.character() + total <- sum(broff) + broff[1] <- 100 * (sum(broff[1:length(broff)])) / total + broff[2] <- 100 * (sum(broff[2:length(broff)])) / total + broff[3] <- 100 * (sum(broff[3:length(broff)])) / total + broff[4] <- 100 * (sum(broff[4:length(broff)])) / total + broff %<>% extract(1:4) + + dt <- data.table::data.table( + x = c('>=1', '>=2', '>=3', '>=1', '>=2', '>=3'), + y = c(multioff[-1], broff[-1]), + set = c(rep('multicrispr', each=3), rep('brunello', each=3))) + p_brunello_off<-ggplot2::ggplot(dt) + + ggplot2::geom_col(ggplot2::aes(x=x, y=y, fill =set), position = 'dodge') + + ggplot2::xlab('Offtarget matches') + + ggplot2::ylab('Percentage of spacers') + + ggplot2::theme_bw() + + ggplot2::guides(fill=FALSE) + +require(multipanelfigure) + +fig <- multi_panel_figure(columns = 10, rows = 3, width = 500, height = 250, row_spacing = 10, column_spacing = 10, panel_label_type = 'none') +fig <- fill_panel(fig, p_pe_venn, row = 1, column = 1:5 ) +fig <- fill_panel(fig, p_pe_on, row = 2, column = 1:5 ) +fig <- fill_panel(fig, p_parallel_venn, row = 1, column = 6:7 ) +fig <- fill_panel(fig, p_parallel_on, row = 2, column = 6:7 ) +fig <- fill_panel(fig, p_brunello_venn, row = 1, column = 8:10 ) +fig <- fill_panel(fig, p_brunello_on, row = 2, column = 8:10 ) +fig <- fill_panel(fig, p_brunello_off, row = 3, column = 8:10) +fig + +require(Cairo) +file_local <- '../multicrisprout/validation.pdf' +file_agnerds <- 'Z:\\abhagwa\\multicrisprmanuscript\\figures\\validation.pdf' +cairo_pdf(file_local, width = figure_width(fig, unit_to = 'inch'), height = figure_height(fig, unit_to = 'inch')) +#pdf(filename, width = figure_width(fig, unit_to = 'inch'), height = figure_height(fig, unit_to = 'inch')) +print(fig) +dev.off() + diff --git a/inst/scipts/08_genome_arithmetics_figure.R b/inst/scipts/08_genome_arithmetics_figure.R index ea264cc260009831ad5f3e360f41cb865c8604c7..5841379934a429570f7cda06c9246aede02eaa50 100644 --- a/inst/scipts/08_genome_arithmetics_figure.R +++ b/inst/scipts/08_genome_arithmetics_figure.R @@ -1,40 +1,40 @@ -require(multipanelfigure) - -fig <- multi_panel_figure(columns = 4, rows = 2, width = 297, height = 210) - -filename <- '../multicrisprout/A_crispr.pdf' -file.copy('Z:/PaperInPrep/multicrispr/figures/fig1/A_crispr.pdf', filename) -image <- magick::image_read_pdf(filename) -filename %<>% stringi::stri_replace_first_fixed('pdf', 'png') -magick::image_write(image, filename) -fig <- fill_panel(fig, filename, row = 1, column = 1:2, scaling = 'shrink') - -filename <- '../multicrisprout/B_prime_editing.pdf' -file.copy('Z:/PaperInPrep/multicrispr/figures/fig1/B_prime_editing.pdf', filename) -image <- magick::image_read_pdf(filename) -filename %<>% stringi::stri_replace_first_fixed('pdf', 'png') -magick::image_write(image, filename) -fig <- fill_panel(fig, filename, row = 1, column = 3:4, scaling = 'shrink') -fig - -filename <- '../multicrisprout/C_grna_tools.pdf' -file.copy('Z:/PaperInPrep/multicrispr/figures/fig1/C_grna_tools.pdf', filename) -image <- magick::image_read_pdf(filename) -filename %<>% stringi::stri_replace_first_fixed('pdf', 'png') -magick::image_write(image, filename) -fig <- fill_panel(fig, filename, row = 2, column = 1, scaling = 'shrink') -fig - -filename <- '../multicrisprout/D_genome_arithmetics_wide.pdf' -file.copy('Z:/PaperInPrep/multicrispr/figures/fig1/D_genome_arithmetics_wide.pdf', filename) -image <- magick::image_read_pdf(filename) -filename %<>% stringi::stri_replace_first_fixed('pdf', 'png') -magick::image_write(image, filename) -fig <- fill_panel(fig, filename, row = 2, column = 2:4, scaling = 'shrink') -fig - -pdf('Z:/PaperInPrep/multicrispr/figures/fig1/fig1.pdf', - width = figure_width( fig, 'inch'), - height = figure_height(fig, 'inch')) -print(fig) -dev.off() +require(multipanelfigure) + +fig <- multi_panel_figure(columns = 4, rows = 2, width = 297, height = 210) + +filename <- '../multicrisprout/A_crispr.pdf' +file.copy('Z:/PaperInPrep/multicrispr/figures/fig1/A_crispr.pdf', filename) +image <- magick::image_read_pdf(filename) +filename %<>% stringi::stri_replace_first_fixed('pdf', 'png') +magick::image_write(image, filename) +fig <- fill_panel(fig, filename, row = 1, column = 1:2, scaling = 'shrink') + +filename <- '../multicrisprout/B_prime_editing.pdf' +file.copy('Z:/PaperInPrep/multicrispr/figures/fig1/B_prime_editing.pdf', filename) +image <- magick::image_read_pdf(filename) +filename %<>% stringi::stri_replace_first_fixed('pdf', 'png') +magick::image_write(image, filename) +fig <- fill_panel(fig, filename, row = 1, column = 3:4, scaling = 'shrink') +fig + +filename <- '../multicrisprout/C_grna_tools.pdf' +file.copy('Z:/PaperInPrep/multicrispr/figures/fig1/C_grna_tools.pdf', filename) +image <- magick::image_read_pdf(filename) +filename %<>% stringi::stri_replace_first_fixed('pdf', 'png') +magick::image_write(image, filename) +fig <- fill_panel(fig, filename, row = 2, column = 1, scaling = 'shrink') +fig + +filename <- '../multicrisprout/D_genome_arithmetics_wide.pdf' +file.copy('Z:/PaperInPrep/multicrispr/figures/fig1/D_genome_arithmetics_wide.pdf', filename) +image <- magick::image_read_pdf(filename) +filename %<>% stringi::stri_replace_first_fixed('pdf', 'png') +magick::image_write(image, filename) +fig <- fill_panel(fig, filename, row = 2, column = 2:4, scaling = 'shrink') +fig + +pdf('Z:/PaperInPrep/multicrispr/figures/fig1/fig1.pdf', + width = figure_width( fig, 'inch'), + height = figure_height(fig, 'inch')) +print(fig) +dev.off() diff --git a/inst/scipts/09_readme_fig.R b/inst/scipts/09_readme_fig.R index ef5e0ec239512441d627a7c8e13f820b47efca10..05d35a4958bf433d2970e7d43e350a63d2617c3d 100644 --- a/inst/scipts/09_readme_fig.R +++ b/inst/scipts/09_readme_fig.R @@ -1,224 +1,224 @@ -require(magrittr) -require(multicrispr) - -#============= -# TFBS -#============= - -tweaksave <- function(gr, fname, size_var = NULL, alpha_var = NULL){ - gr %<>% subset(targetname=='T0163') - g <- plot_intervals(gr, alpha_var = alpha_var, size_var = size_var) + - ggplot2::scale_color_manual(values = c(T0163="#00BFC4")) + - ggplot2::guides(color = FALSE, alpha = FALSE, size = FALSE) - ggplot2::ggsave(paste0('../multicrisprout/graphs/', fname, '.png'), g, width=2.5, height=2) -} - -# Decide which to keep -reticulate::use_condaenv('azienv') -bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 -bedfile <- system.file('extdata/SRF.bed', package='multicrispr') -targets <- multicrispr::bed_to_granges(bedfile, genome='mm10', plot = FALSE) -extended <- extend(targets, -22, +22) -spacers <- extended %>% find_spacers(bsgenome, plot = FALSE) -spacers %<>% add_offtargets(bsgenome, extended, plot = FALSE) -spacers %<>% add_efficiency(bsgenome, method = 'Doench2016', plot = FALSE) - -tweaksave(targets, fname = 'srf01') -tweaksave(extended, fname = 'srf02_extended') -tweaksave(spacers, fname = 'srf03_spacers') -tweaksave(spacers, fname = 'srf04_specific', alpha_var = 'specific') -tweaksave(spacers, fname = 'srf05_efficient', alpha_var = 'specific', size_var = 'Doench2016') - - -# PE -#===== -bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -# gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp -# HBB = 'chr11:5227002:-', # snp -# HEXA = 'chr15:72346580-72346583:-', # del -# CFTR = 'chr7:117559593-117559595:+'), # ins -# bsgenome) -gr <- char_to_granges(c(HBB = 'chr11:5227002:-'), bsgenome) -plot_intervals(gr, facet_var = c('seqnames', 'targetname')) - -spacers <- gr %>% find_pe_spacers(bsgenome, nrt=48) %>% add_genome_counts() -spacers$specific <- spacers$G0==1 -spacers %<>% add_efficiency(bsgenome, 'Doench2016') - # Select HBB - -gr %<>% extract('HBB') -p <- plot_intervals(gr, facet_var = c('seqnames', 'targetname')) + - ggplot2::guides(color = FALSE) -ggplot2::ggsave('graphs/hbb01.pdf', p, width=2.2, height=1.8, device = grDevices::cairo_pdf) - -extended <- extend_for_pe(gr, nrt = 48) -p <- plot_intervals(extended, facet_var = c('seqnames', 'targetname')) + - ggplot2::guides(color = FALSE) -ggplot2::ggsave('graphs/hbb02_extended.pdf', p, width=2.1, height=1.8, device = grDevices::cairo_pdf) - -spacers <- gr %>% find_pe_spacers(bsgenome, nrt=48) -p <- plot_intervals(spacers, facet_var = c('seqnames', 'targetname')) + - ggplot2::guides(color = FALSE, size = FALSE) -ggplot2::ggsave('graphs/hbb03_spacers.pdf', p, width=2.2, height=1.8, device = grDevices::cairo_pdf) - -spacers %<>% add_genome_counts() -spacers$specific <- spacers$G0==1 -p <- plot_intervals(spacers, facet_var = c('seqnames', 'targetname'), - alpha_var = 'specific') + - ggplot2::scale_alpha_manual(values = c(`TRUE` = 1, `FALSE` = 0.25)) + - ggplot2::guides(color = FALSE, size = FALSE, alpha = FALSE) -ggplot2::ggsave('graphs/hbb04_specific.pdf', p, width=2.2, height=1.8, device = grDevices::cairo_pdf) - -spacers %<>% add_efficiency(bsgenome, 'Doench2016') -quantiles <- round(quantile(spacers$Doench2016, c(0.33, 0.66, 1)), 2) -spacers$efficiency <- cut(spacers$Doench2016, c(0, quantiles), labels = quantiles) %>% - as.character() -p <- plot_intervals(spacers, facet_var = c('seqnames', 'targetname'), - alpha_var = 'specific', size_var = 'efficiency') + - ggplot2::scale_alpha_manual(values = c(`TRUE` = 1, `FALSE` = 0.25)) + - ggplot2::scale_size_manual(values = c(0.2, 1.5, 3) %>% set_names(quantiles)) + - ggplot2::guides(color = FALSE, size = FALSE, alpha = FALSE) -ggplot2::ggsave('graphs/hbb05_efficient.pdf', p, width=2.2, height=1.8, device = grDevices::cairo_pdf) - - -gr %<>% extract('HBB') -plot_intervals(gr, facet_var = c('targetname', 'seqnames'), color_var = NULL) + - #ggplot2::guides(color=FALSE) + - ggplot2::xlab(NULL) + ggplot2::ylab(NULL) + - ggplot2::scale_x_continuous(name = NULL, breaks = c(0, 1)) + - ggplot2::theme(panel.grid.major = ggplot2::element_blank(), - panel.grid.minor = ggplot2::element_blank()) - - -# Extend -find_spacers(extend_for_pe(gr, bsgenome), bsgenome, complement = FALSE) - -grplot <- c(gr, grext) -grplot$set <- c('target', '+', '-') -plot_intervals(grplot, facet_var = c('targetname', 'seqnames'), yby = 'set', color_var = NULL, linetype = 'set') + - ggplot2::xlab(NULL) + ggplot2::ylab(NULL) + - #ggplot2::guides(color=FALSE) + - ggplot2::scale_linetype_manual(values = c(target = 'solid', `+` = 'longdash', `-` = 'longdash')) + - #ggplot2::scale_color_manual(values = c(target = '#F8766D', `+` = 'black' , `-` = 'black')) + - ggplot2::guides(linetype=FALSE) + - ggplot2::theme(panel.grid.major = ggplot2::element_blank(), - panel.grid.minor = ggplot2::element_blank()) -grDevices::hcl(h = seq(15, 375, length = n + 1), l = 65, c = 100)[1:3] - - #ggplot2::theme( legend.position = c(0.25,0.73), - # legend.title = ggplot2::element_blank(), - # legend.key = ggplot2::element_blank(), - # legend.background = ggplot2::element_blank()) - -# Find pe sites -spacers <- find_pe_spacers(gr, bsgenome, nrt = 26) - -# Filter for specificity -genomedir <- '~/.multicrispr/bowtie/genome/BSgenome.Hsapiens.UCSC.hg38' -outdir <- '~/.multicrispr/bowtie' -filter_prime_specific(spacers, genomedir, outdir) - - - -# quantiles <- round(quantile(spacers$Doench2016, c(.33, .66, 1)), 2) -# spacers$efficiency <- spacers$Doench2016 %>% cut(c(0, quantiles), labels = as.character(quantiles)) -# p <- plot_intervals(spacers, size_var = 'efficiency') + -# ggplot2::scale_size_manual(values = c(0.2, 1.5, 4) %>% set_names(quantiles)) + -# ggplot2::guides(color = FALSE, alpha = FALSE, size = FALSE) -# ggplot2::ggsave('graphs/srf_efficient.png', p, width = 3, height = 2.5) - -p <- plot_intervals(spacers, size_var = 'efficiency', alpha_var = 'specific') + - ggplot2::scale_size_manual(values = c(0.2, 1.5, 3) %>% set_names(quantiles)) + - ggplot2::scale_alpha_manual(values = c(`TRUE`=1, `FALSE`=0.25)) + - ggplot2::guides(color = FALSE, alpha = FALSE, size = FALSE) -ggplot2::ggsave('graphs/srf_efficient.png', p, width = 2.5, height = 2) - - -# Process -png('graphs/srf_extended.png') -targets %<>% extend(plot = TRUE) -dev.off() - - -targets %>% find_spacers(bsgenome) %>% filter_target_specific(targets, bsgenome) %>% filter_efficient() - -targets %<>% subset(targetname %in% c('T0018', 'T1042')) -plot_intervals(targets, yby = 'targetname') - -# Extend -grext <- extend(gr, plot = TRUE) -gr$set <- 'target' -grext$set <- 'extension' -grplot <- c(gr, grext) -grplot$set %<>% factor(c('target', 'extension')) -plot_intervals(grplot, color_var = 'targetname', linetype = 'set') - -# Find spacers -spacers <- find_spacers(grext, bsgenome) -spacers %>% subset(targetname %in% c('T0018', 'T0151')) %>% plot_intervals(yby = 'crisprname', color_var = 'targetname') - -# Filter for specificity -tdir <- index_targets(grext, bsgenome) -gdir <- '~/.multicrispr/bowtie/genome/BSgenome.Mmusculus.UCSC.mm10' -outdir <- '~/.multicrispr/bowtie' -specificspacers <- filter_target_specific(spacers, tdir, gdir, outdir) -specificspacers %>% subset(targetname %in% c('T0018', 'T0151')) %>% plot_intervals(yby = 'crisprname', color_var = 'targetname') - -# Filter for -specificspacers %<>% score_spacers(bsgenome, 'Doench2016', condaenv = 'azimuthenv') -specificspacers %>% subset(targetname %in% c('T0018', 'T0151') & Doench2016 > 0.4) - - plot_intervals(specificspacers, yby = 'crisprname') - - - - - -targets <- extend(bed_to_granges(bedfile, genome='mm10', plot = FALSE)) -bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 -spacers <- find_spacers(targets, bsgenome) -indexedgenome <- '~/.multicrispr/bowtie/BSgenome.Mmusculus.UCSC.mm10' -specific <- filter_target_specific(spacers, targets, bsgenome, indexedgenome) -specific %<>% score_spacers(bsgenome, 'Doench2016', condaenv = 'azimuthenv') -efficient <- specific %<>% subset(Doench2016>0.4) - - -targets$set <- 'A' -spacers$set <- 'B' -specific$set <- 'C' -efficient$set <- 'D' - -plotgr <- c(targets, spacers, specific, efficient) - - plotgr %<>% sort(ignore.strand = TRUE) - #plotgr %<>% subset(seqnames == 'chr1') - plotdt <- data.table::as.data.table(plotgr) - plotdt[ , bin := cut(start, 10, labels = FALSE) ] - plotdt[ , y := scales::number(min(start), big.mark = ','), by = 'bin'] - plotdt$y %<>% factor(unique(.)) - - plotdt[strand=='+', x := start] - plotdt[strand=='+', xend := end] - plotdt[strand=='-', x := end] - plotdt[strand=='-', xend := start] - - # plotdt[strand=='+', x := start - min(start), by = 'y' ] - # plotdt[strand=='+', xend := end - min(start), by = 'y' ] - # plotdt[strand=='-', x := end - min(start), by = 'y' ] - # plotdt[strand=='-', xend := start - min(start), by = 'y' ] - - require(ggplot2) - ggplot(plotdt, aes_string(x = 'x', xend = 'xend', y = 'seqnames', yend = 'seqnames', color = 'set')) + - geom_segment(arrow = arrow(length = unit(0.1, "inches"))) + - scale_x_continuous(labels = scales::comma) + - xlab(NULL) + ylab(NULL) + theme_bw() + - scale_color_manual(values=c(A='lavenderblush', B='gray90', C='gray50', D='green4')) - #guides(color = FALSE) - - - - - - - - +require(magrittr) +require(multicrispr) + +#============= +# TFBS +#============= + +tweaksave <- function(gr, fname, size_var = NULL, alpha_var = NULL){ + gr %<>% subset(targetname=='T0163') + g <- plot_intervals(gr, alpha_var = alpha_var, size_var = size_var) + + ggplot2::scale_color_manual(values = c(T0163="#00BFC4")) + + ggplot2::guides(color = FALSE, alpha = FALSE, size = FALSE) + ggplot2::ggsave(paste0('../multicrisprout/graphs/', fname, '.png'), g, width=2.5, height=2) +} + +# Decide which to keep +reticulate::use_condaenv('azienv') +bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 +bedfile <- system.file('extdata/SRF.bed', package='multicrispr') +targets <- multicrispr::bed_to_granges(bedfile, genome='mm10', plot = FALSE) +extended <- extend(targets, -22, +22) +spacers <- extended %>% find_spacers(bsgenome, plot = FALSE) +spacers %<>% add_offtargets(bsgenome, extended, plot = FALSE) +spacers %<>% add_efficiency(bsgenome, method = 'Doench2016', plot = FALSE) + +tweaksave(targets, fname = 'srf01') +tweaksave(extended, fname = 'srf02_extended') +tweaksave(spacers, fname = 'srf03_spacers') +tweaksave(spacers, fname = 'srf04_specific', alpha_var = 'specific') +tweaksave(spacers, fname = 'srf05_efficient', alpha_var = 'specific', size_var = 'Doench2016') + + +# PE +#===== +bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +# gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp +# HBB = 'chr11:5227002:-', # snp +# HEXA = 'chr15:72346580-72346583:-', # del +# CFTR = 'chr7:117559593-117559595:+'), # ins +# bsgenome) +gr <- char_to_granges(c(HBB = 'chr11:5227002:-'), bsgenome) +plot_intervals(gr, facet_var = c('seqnames', 'targetname')) + +spacers <- gr %>% find_pe_spacers(bsgenome, nrt=48) %>% add_genome_counts() +spacers$specific <- spacers$G0==1 +spacers %<>% add_efficiency(bsgenome, 'Doench2016') + # Select HBB + +gr %<>% extract('HBB') +p <- plot_intervals(gr, facet_var = c('seqnames', 'targetname')) + + ggplot2::guides(color = FALSE) +ggplot2::ggsave('graphs/hbb01.pdf', p, width=2.2, height=1.8, device = grDevices::cairo_pdf) + +extended <- extend_for_pe(gr, nrt = 48) +p <- plot_intervals(extended, facet_var = c('seqnames', 'targetname')) + + ggplot2::guides(color = FALSE) +ggplot2::ggsave('graphs/hbb02_extended.pdf', p, width=2.1, height=1.8, device = grDevices::cairo_pdf) + +spacers <- gr %>% find_pe_spacers(bsgenome, nrt=48) +p <- plot_intervals(spacers, facet_var = c('seqnames', 'targetname')) + + ggplot2::guides(color = FALSE, size = FALSE) +ggplot2::ggsave('graphs/hbb03_spacers.pdf', p, width=2.2, height=1.8, device = grDevices::cairo_pdf) + +spacers %<>% add_genome_counts() +spacers$specific <- spacers$G0==1 +p <- plot_intervals(spacers, facet_var = c('seqnames', 'targetname'), + alpha_var = 'specific') + + ggplot2::scale_alpha_manual(values = c(`TRUE` = 1, `FALSE` = 0.25)) + + ggplot2::guides(color = FALSE, size = FALSE, alpha = FALSE) +ggplot2::ggsave('graphs/hbb04_specific.pdf', p, width=2.2, height=1.8, device = grDevices::cairo_pdf) + +spacers %<>% add_efficiency(bsgenome, 'Doench2016') +quantiles <- round(quantile(spacers$Doench2016, c(0.33, 0.66, 1)), 2) +spacers$efficiency <- cut(spacers$Doench2016, c(0, quantiles), labels = quantiles) %>% + as.character() +p <- plot_intervals(spacers, facet_var = c('seqnames', 'targetname'), + alpha_var = 'specific', size_var = 'efficiency') + + ggplot2::scale_alpha_manual(values = c(`TRUE` = 1, `FALSE` = 0.25)) + + ggplot2::scale_size_manual(values = c(0.2, 1.5, 3) %>% set_names(quantiles)) + + ggplot2::guides(color = FALSE, size = FALSE, alpha = FALSE) +ggplot2::ggsave('graphs/hbb05_efficient.pdf', p, width=2.2, height=1.8, device = grDevices::cairo_pdf) + + +gr %<>% extract('HBB') +plot_intervals(gr, facet_var = c('targetname', 'seqnames'), color_var = NULL) + + #ggplot2::guides(color=FALSE) + + ggplot2::xlab(NULL) + ggplot2::ylab(NULL) + + ggplot2::scale_x_continuous(name = NULL, breaks = c(0, 1)) + + ggplot2::theme(panel.grid.major = ggplot2::element_blank(), + panel.grid.minor = ggplot2::element_blank()) + + +# Extend +find_spacers(extend_for_pe(gr, bsgenome), bsgenome, complement = FALSE) + +grplot <- c(gr, grext) +grplot$set <- c('target', '+', '-') +plot_intervals(grplot, facet_var = c('targetname', 'seqnames'), yby = 'set', color_var = NULL, linetype = 'set') + + ggplot2::xlab(NULL) + ggplot2::ylab(NULL) + + #ggplot2::guides(color=FALSE) + + ggplot2::scale_linetype_manual(values = c(target = 'solid', `+` = 'longdash', `-` = 'longdash')) + + #ggplot2::scale_color_manual(values = c(target = '#F8766D', `+` = 'black' , `-` = 'black')) + + ggplot2::guides(linetype=FALSE) + + ggplot2::theme(panel.grid.major = ggplot2::element_blank(), + panel.grid.minor = ggplot2::element_blank()) +grDevices::hcl(h = seq(15, 375, length = n + 1), l = 65, c = 100)[1:3] + + #ggplot2::theme( legend.position = c(0.25,0.73), + # legend.title = ggplot2::element_blank(), + # legend.key = ggplot2::element_blank(), + # legend.background = ggplot2::element_blank()) + +# Find pe sites +spacers <- find_pe_spacers(gr, bsgenome, nrt = 26) + +# Filter for specificity +genomedir <- '~/.multicrispr/bowtie/genome/BSgenome.Hsapiens.UCSC.hg38' +outdir <- '~/.multicrispr/bowtie' +filter_prime_specific(spacers, genomedir, outdir) + + + +# quantiles <- round(quantile(spacers$Doench2016, c(.33, .66, 1)), 2) +# spacers$efficiency <- spacers$Doench2016 %>% cut(c(0, quantiles), labels = as.character(quantiles)) +# p <- plot_intervals(spacers, size_var = 'efficiency') + +# ggplot2::scale_size_manual(values = c(0.2, 1.5, 4) %>% set_names(quantiles)) + +# ggplot2::guides(color = FALSE, alpha = FALSE, size = FALSE) +# ggplot2::ggsave('graphs/srf_efficient.png', p, width = 3, height = 2.5) + +p <- plot_intervals(spacers, size_var = 'efficiency', alpha_var = 'specific') + + ggplot2::scale_size_manual(values = c(0.2, 1.5, 3) %>% set_names(quantiles)) + + ggplot2::scale_alpha_manual(values = c(`TRUE`=1, `FALSE`=0.25)) + + ggplot2::guides(color = FALSE, alpha = FALSE, size = FALSE) +ggplot2::ggsave('graphs/srf_efficient.png', p, width = 2.5, height = 2) + + +# Process +png('graphs/srf_extended.png') +targets %<>% extend(plot = TRUE) +dev.off() + + +targets %>% find_spacers(bsgenome) %>% filter_target_specific(targets, bsgenome) %>% filter_efficient() + +targets %<>% subset(targetname %in% c('T0018', 'T1042')) +plot_intervals(targets, yby = 'targetname') + +# Extend +grext <- extend(gr, plot = TRUE) +gr$set <- 'target' +grext$set <- 'extension' +grplot <- c(gr, grext) +grplot$set %<>% factor(c('target', 'extension')) +plot_intervals(grplot, color_var = 'targetname', linetype = 'set') + +# Find spacers +spacers <- find_spacers(grext, bsgenome) +spacers %>% subset(targetname %in% c('T0018', 'T0151')) %>% plot_intervals(yby = 'crisprname', color_var = 'targetname') + +# Filter for specificity +tdir <- index_targets(grext, bsgenome) +gdir <- '~/.multicrispr/bowtie/genome/BSgenome.Mmusculus.UCSC.mm10' +outdir <- '~/.multicrispr/bowtie' +specificspacers <- filter_target_specific(spacers, tdir, gdir, outdir) +specificspacers %>% subset(targetname %in% c('T0018', 'T0151')) %>% plot_intervals(yby = 'crisprname', color_var = 'targetname') + +# Filter for +specificspacers %<>% score_spacers(bsgenome, 'Doench2016', condaenv = 'azimuthenv') +specificspacers %>% subset(targetname %in% c('T0018', 'T0151') & Doench2016 > 0.4) + + plot_intervals(specificspacers, yby = 'crisprname') + + + + + +targets <- extend(bed_to_granges(bedfile, genome='mm10', plot = FALSE)) +bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 +spacers <- find_spacers(targets, bsgenome) +indexedgenome <- '~/.multicrispr/bowtie/BSgenome.Mmusculus.UCSC.mm10' +specific <- filter_target_specific(spacers, targets, bsgenome, indexedgenome) +specific %<>% score_spacers(bsgenome, 'Doench2016', condaenv = 'azimuthenv') +efficient <- specific %<>% subset(Doench2016>0.4) + + +targets$set <- 'A' +spacers$set <- 'B' +specific$set <- 'C' +efficient$set <- 'D' + +plotgr <- c(targets, spacers, specific, efficient) + + plotgr %<>% sort(ignore.strand = TRUE) + #plotgr %<>% subset(seqnames == 'chr1') + plotdt <- data.table::as.data.table(plotgr) + plotdt[ , bin := cut(start, 10, labels = FALSE) ] + plotdt[ , y := scales::number(min(start), big.mark = ','), by = 'bin'] + plotdt$y %<>% factor(unique(.)) + + plotdt[strand=='+', x := start] + plotdt[strand=='+', xend := end] + plotdt[strand=='-', x := end] + plotdt[strand=='-', xend := start] + + # plotdt[strand=='+', x := start - min(start), by = 'y' ] + # plotdt[strand=='+', xend := end - min(start), by = 'y' ] + # plotdt[strand=='-', x := end - min(start), by = 'y' ] + # plotdt[strand=='-', xend := start - min(start), by = 'y' ] + + require(ggplot2) + ggplot(plotdt, aes_string(x = 'x', xend = 'xend', y = 'seqnames', yend = 'seqnames', color = 'set')) + + geom_segment(arrow = arrow(length = unit(0.1, "inches"))) + + scale_x_continuous(labels = scales::comma) + + xlab(NULL) + ylab(NULL) + theme_bw() + + scale_color_manual(values=c(A='lavenderblush', B='gray90', C='gray50', D='green4')) + #guides(color = FALSE) + + + + + + + + diff --git a/public/404.html b/public/404.html index e95861a5cfc70007c246237972eda77dc6cae85c..7863d5fb962730bc9cdd5ee68e8d46403e049f3c 100644 --- a/public/404.html +++ b/public/404.html @@ -1,142 +1,142 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Page not found (404) • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="pkgdown.css" rel="stylesheet"> -<script src="pkgdown.js"></script> - - - - -<meta property="og:title" content="Page not found (404)" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-title-body"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="contents col-md-9"> - <div class="page-header"> - <h1>Page not found (404)</h1> - </div> - -Content not found. Please use links in the navbar. - - </div> - -</div> - - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Page not found (404) • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="pkgdown.css" rel="stylesheet"> +<script src="pkgdown.js"></script> + + + + +<meta property="og:title" content="Page not found (404)" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-title-body"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="contents col-md-9"> + <div class="page-header"> + <h1>Page not found (404)</h1> + </div> + +Content not found. Please use links in the navbar. + + </div> + +</div> + + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/articles/designing_grna_libraries.html b/public/articles/designing_grna_libraries.html index 6b054c4b9e21925de88751d7b11679ce7b077767..246f070503398f15c426ea101be7482433dab0bc 100644 --- a/public/articles/designing_grna_libraries.html +++ b/public/articles/designing_grna_libraries.html @@ -1,925 +1,925 @@ -<!DOCTYPE html> - -<html> - -<head> - -<meta charset="utf-8" /> -<meta name="generator" content="pandoc" /> -<meta http-equiv="X-UA-Compatible" content="IE=EDGE" /> - - -<meta name="author" content="Aditya M Bhagwat" /> - -<meta name="date" content="2020-04-23" /> - -<title>Using multicrispr for gRNA design</title> - -<script>/*! jQuery v1.11.3 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ -!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.3",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b="length"in a&&a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function qa(){}qa.prototype=d.filters=d.pseudos,d.setFilters=new qa,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function ra(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1; - -return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function aa(){return!0}function ba(){return!1}function ca(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ca()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===ca()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?aa:ba):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:ba,isPropagationStopped:ba,isImmediatePropagationStopped:ba,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=aa,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=aa,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=aa,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=ba;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=ba),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function da(a){var b=ea.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var ea="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fa=/ jQuery\d+="(?:null|\d+)"/g,ga=new RegExp("<(?:"+ea+")[\\s/>]","i"),ha=/^\s+/,ia=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ja=/<([\w:]+)/,ka=/<tbody/i,la=/<|&#?\w+;/,ma=/<(?:script|style|link)/i,na=/checked\s*(?:[^=]|=\s*.checked.)/i,oa=/^$|\/(?:java|ecma)script/i,pa=/^true\/(.*)/,qa=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ra={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sa=da(y),ta=sa.appendChild(y.createElement("div"));ra.optgroup=ra.option,ra.tbody=ra.tfoot=ra.colgroup=ra.caption=ra.thead,ra.th=ra.td;function ua(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ua(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function va(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wa(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xa(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function ya(a){var b=pa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function za(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Aa(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Ba(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xa(b).text=a.text,ya(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!ga.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ta.innerHTML=a.outerHTML,ta.removeChild(f=ta.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ua(f),h=ua(a),g=0;null!=(e=h[g]);++g)d[g]&&Ba(e,d[g]);if(b)if(c)for(h=h||ua(a),d=d||ua(f),g=0;null!=(e=h[g]);g++)Aa(e,d[g]);else Aa(a,f);return d=ua(f,"script"),d.length>0&&za(d,!i&&ua(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=da(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(la.test(f)){h=h||o.appendChild(b.createElement("div")),i=(ja.exec(f)||["",""])[1].toLowerCase(),l=ra[i]||ra._default,h.innerHTML=l[1]+f.replace(ia,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&ha.test(f)&&p.push(b.createTextNode(ha.exec(f)[0])),!k.tbody){f="table"!==i||ka.test(f)?"<table>"!==l[1]||ka.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ua(p,"input"),va),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ua(o.appendChild(f),"script"),g&&za(h),c)){e=0;while(f=h[e++])oa.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ua(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&za(ua(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ua(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fa,""):void 0;if(!("string"!=typeof a||ma.test(a)||!k.htmlSerialize&&ga.test(a)||!k.leadingWhitespace&&ha.test(a)||ra[(ja.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ia,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ua(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ua(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&na.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ua(i,"script"),xa),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ua(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,ya),j=0;f>j;j++)d=g[j],oa.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qa,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Ca,Da={};function Ea(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fa(a){var b=y,c=Da[a];return c||(c=Ea(a,b),"none"!==c&&c||(Ca=(Ca||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Ca[0].contentWindow||Ca[0].contentDocument).document,b.write(),b.close(),c=Ea(a,b),Ca.detach()),Da[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Ga=/^margin/,Ha=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ia,Ja,Ka=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ia=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)},Ja=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ia(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Ha.test(g)&&Ga.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ia=function(a){return a.currentStyle},Ja=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ia(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Ha.test(g)&&!Ka.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function La(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight),b.removeChild(i)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Ma=/alpha\([^)]*\)/i,Na=/opacity\s*=\s*([^)]*)/,Oa=/^(none|table(?!-c[ea]).+)/,Pa=new RegExp("^("+S+")(.*)$","i"),Qa=new RegExp("^([+-])=("+S+")","i"),Ra={position:"absolute",visibility:"hidden",display:"block"},Sa={letterSpacing:"0",fontWeight:"400"},Ta=["Webkit","O","Moz","ms"];function Ua(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Ta.length;while(e--)if(b=Ta[e]+c,b in a)return b;return d}function Va(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fa(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wa(a,b,c){var d=Pa.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xa(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Ya(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ia(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Ja(a,b,f),(0>e||null==e)&&(e=a.style[b]),Ha.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xa(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ja(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ua(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qa.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ua(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Ja(a,b,d)),"normal"===f&&b in Sa&&(f=Sa[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Oa.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Ra,function(){return Ya(a,b,d)}):Ya(a,b,d):void 0},set:function(a,c,d){var e=d&&Ia(a);return Wa(a,c,d?Xa(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Na.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Ma,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Ma.test(f)?f.replace(Ma,e):f+" "+e)}}),m.cssHooks.marginRight=La(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Ja,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Ga.test(a)||(m.cssHooks[a+b].set=Wa)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ia(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Va(this,!0)},hide:function(){return Va(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Za(a,b,c,d,e){ -return new Za.prototype.init(a,b,c,d,e)}m.Tween=Za,Za.prototype={constructor:Za,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")},cur:function(){var a=Za.propHooks[this.prop];return a&&a.get?a.get(this):Za.propHooks._default.get(this)},run:function(a){var b,c=Za.propHooks[this.prop];return this.options.duration?this.pos=b=m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Za.propHooks._default.set(this),this}},Za.prototype.init.prototype=Za.prototype,Za.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Za.propHooks.scrollTop=Za.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Za.prototype.init,m.fx.step={};var $a,_a,ab=/^(?:toggle|show|hide)$/,bb=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cb=/queueHooks$/,db=[ib],eb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bb.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bb.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fb(){return setTimeout(function(){$a=void 0}),$a=m.now()}function gb(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hb(a,b,c){for(var d,e=(eb[b]||[]).concat(eb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ib(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fa(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fa(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ab.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fa(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hb(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jb(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kb(a,b,c){var d,e,f=0,g=db.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$a||fb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$a||fb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jb(k,j.opts.specialEasing);g>f;f++)if(d=db[f].call(j,a,k,j.opts))return d;return m.map(k,hb,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kb,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],eb[c]=eb[c]||[],eb[c].unshift(b)},prefilter:function(a,b){b?db.unshift(a):db.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kb(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gb(b,!0),a,d,e)}}),m.each({slideDown:gb("show"),slideUp:gb("hide"),slideToggle:gb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($a=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$a=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_a||(_a=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_a),_a=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lb=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lb,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mb,nb,ob=m.expr.attrHandle,pb=/^(?:checked|selected)$/i,qb=k.getSetAttribute,rb=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nb:mb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rb&&qb||!pb.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qb?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nb={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rb&&qb||!pb.test(c)?a.setAttribute(!qb&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ob[b]||m.find.attr;ob[b]=rb&&qb||!pb.test(b)?function(a,b,d){var e,f;return d||(f=ob[b],ob[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,ob[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rb&&qb||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mb&&mb.set(a,b,c)}}),qb||(mb={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},ob.id=ob.name=ob.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mb.set},m.attrHooks.contenteditable={set:function(a,b,c){mb.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sb=/^(?:input|select|textarea|button|object)$/i,tb=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sb.test(a.nodeName)||tb.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var ub=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ub," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ub," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ub," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vb=m.now(),wb=/\?/,xb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yb,zb,Ab=/#.*$/,Bb=/([?&])_=[^&]*/,Cb=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Db=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Eb=/^(?:GET|HEAD)$/,Fb=/^\/\//,Gb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hb={},Ib={},Jb="*/".concat("*");try{zb=location.href}catch(Kb){zb=y.createElement("a"),zb.href="",zb=zb.href}yb=Gb.exec(zb.toLowerCase())||[];function Lb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mb(a,b,c,d){var e={},f=a===Ib;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nb(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Ob(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zb,type:"GET",isLocal:Db.test(yb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nb(Nb(a,m.ajaxSettings),b):Nb(m.ajaxSettings,a)},ajaxPrefilter:Lb(Hb),ajaxTransport:Lb(Ib),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cb.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zb)+"").replace(Ab,"").replace(Fb,yb[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gb.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yb[1]&&c[2]===yb[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yb[3]||("http:"===yb[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mb(Hb,k,b,v),2===t)return v;h=m.event&&k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Eb.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wb.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bb.test(e)?e.replace(Bb,"$1_="+vb++):e+(wb.test(e)?"&":"?")+"_="+vb++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jb+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mb(Ib,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Ob(k,v,c)),u=Pb(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qb=/%20/g,Rb=/\[\]$/,Sb=/\r?\n/g,Tb=/^(?:submit|button|image|reset|file)$/i,Ub=/^(?:input|select|textarea|keygen)/i;function Vb(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rb.test(a)?d(a,e):Vb(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vb(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vb(c,a[c],b,e);return d.join("&").replace(Qb,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Ub.test(this.nodeName)&&!Tb.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sb,"\r\n")}}):{name:b.name,value:c.replace(Sb,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zb()||$b()}:Zb;var Wb=0,Xb={},Yb=m.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Xb)Xb[a](void 0,!0)}),k.cors=!!Yb&&"withCredentials"in Yb,Yb=k.ajax=!!Yb,Yb&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wb;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xb[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xb[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zb(){try{return new a.XMLHttpRequest}catch(b){}}function $b(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _b=[],ac=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_b.pop()||m.expando+"_"+vb++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ac.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ac.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ac,"$1"+e):b.jsonp!==!1&&(b.url+=(wb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_b.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bc=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bc)return bc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cc=a.document.documentElement;function dc(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cc;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cc})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=La(k.pixelPosition,function(a,c){return c?(c=Ja(a,b),Ha.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ec=a.jQuery,fc=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fc),b&&a.jQuery===m&&(a.jQuery=ec),m},typeof b===K&&(a.jQuery=a.$=m),m}); -</script> -<meta name="viewport" content="width=device-width, initial-scale=1" /> -<style type="text/css">html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(data:application/vnd.ms-fontobject;base64,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);src:url(data:application/vnd.ms-fontobject;base64,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) format('embedded-opentype'),url(data:application/font-woff;base64,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) format('woff'),url(data:application/x-font-truetype;base64,AAEAAAAPAIAAAwBwRkZUTW0ql9wAAAD8AAAAHEdERUYBRAAEAAABGAAAACBPUy8yZ7lriQAAATgAAABgY21hcNqt44EAAAGYAAAGcmN2dCAAKAL4AAAIDAAAAARnYXNw//8AAwAACBAAAAAIZ2x5Zn1dwm8AAAgYAACUpGhlYWQFTS/YAACcvAAAADZoaGVhCkQEEQAAnPQAAAAkaG10eNLHIGAAAJ0YAAADdGxvY2Fv+5XOAACgjAAAAjBtYXhwAWoA2AAAorwAAAAgbmFtZbMsoJsAAKLcAAADonBvc3S6o+U1AACmgAAACtF3ZWJmwxhUUAAAsVQAAAAGAAAAAQAAAADMPaLPAAAAANB2gXUAAAAA0HZzlwABAAAADgAAABgAAAAAAAIAAQABARYAAQAEAAAAAgAAAAMEiwGQAAUABAMMAtAAAABaAwwC0AAAAaQAMgK4AAAAAAUAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAFVLV04AQAAg//8DwP8QAAAFFAB7AAAAAQAAAAAAAAAAAAAAIAABAAAABQAAAAMAAAAsAAAACgAAAdwAAQAAAAAEaAADAAEAAAAsAAMACgAAAdwABAGwAAAAaABAAAUAKAAgACsAoAClIAogLyBfIKwgvSISIxsl/CYBJvonCScP4APgCeAZ4CngOeBJ4FngYOBp4HngieCX4QnhGeEp4TnhRuFJ4VnhaeF54YnhleGZ4gbiCeIW4hniIeIn4jniSeJZ4mD4////AAAAIAAqAKAApSAAIC8gXyCsIL0iEiMbJfwmASb6JwknD+AB4AXgEOAg4DDgQOBQ4GDgYuBw4IDgkOEB4RDhIOEw4UDhSOFQ4WDhcOGA4ZDhl+IA4gniEOIY4iHiI+Iw4kDiUOJg+P/////j/9r/Zv9i4Ajf5N+132nfWd4F3P3aHdoZ2SHZE9kOIB0gHCAWIBAgCiAEH/4f+B/3H/Ef6x/lH3wfdh9wH2ofZB9jH10fVx9RH0sfRR9EHt4e3B7WHtUezh7NHsUevx65HrMIFQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAACjAAAAAAAAAA1AAAAIAAAACAAAAADAAAAKgAAACsAAAAEAAAAoAAAAKAAAAAGAAAApQAAAKUAAAAHAAAgAAAAIAoAAAAIAAAgLwAAIC8AAAATAAAgXwAAIF8AAAAUAAAgrAAAIKwAAAAVAAAgvQAAIL0AAAAWAAAiEgAAIhIAAAAXAAAjGwAAIxsAAAAYAAAl/AAAJfwAAAAZAAAmAQAAJgEAAAAaAAAm+gAAJvoAAAAbAAAnCQAAJwkAAAAcAAAnDwAAJw8AAAAdAADgAQAA4AMAAAAeAADgBQAA4AkAAAAhAADgEAAA4BkAAAAmAADgIAAA4CkAAAAwAADgMAAA4DkAAAA6AADgQAAA4EkAAABEAADgUAAA4FkAAABOAADgYAAA4GAAAABYAADgYgAA4GkAAABZAADgcAAA4HkAAABhAADggAAA4IkAAABrAADgkAAA4JcAAAB1AADhAQAA4QkAAAB9AADhEAAA4RkAAACGAADhIAAA4SkAAACQAADhMAAA4TkAAACaAADhQAAA4UYAAACkAADhSAAA4UkAAACrAADhUAAA4VkAAACtAADhYAAA4WkAAAC3AADhcAAA4XkAAADBAADhgAAA4YkAAADLAADhkAAA4ZUAAADVAADhlwAA4ZkAAADbAADiAAAA4gYAAADeAADiCQAA4gkAAADlAADiEAAA4hYAAADmAADiGAAA4hkAAADtAADiIQAA4iEAAADvAADiIwAA4icAAADwAADiMAAA4jkAAAD1AADiQAAA4kkAAAD/AADiUAAA4lkAAAEJAADiYAAA4mAAAAETAAD4/wAA+P8AAAEUAAH1EQAB9REAAAEVAAH2qgAB9qoAAAEWAAYCCgAAAAABAAABAAAAAAAAAAAAAAAAAAAAAQACAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAEAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAL4AAAAAf//AAIAAgAoAAABaAMgAAMABwAusQEALzyyBwQA7TKxBgXcPLIDAgDtMgCxAwAvPLIFBADtMrIHBgH8PLIBAgDtMjMRIRElMxEjKAFA/ujw8AMg/OAoAtAAAQBkAGQETARMAFsAAAEyFh8BHgEdATc+AR8BFgYPATMyFhcWFRQGDwEOASsBFx4BDwEGJi8BFRQGBwYjIiYvAS4BPQEHDgEvASY2PwEjIiYnJjU0Nj8BPgE7AScuAT8BNhYfATU0Njc2AlgPJgsLCg+eBxYIagcCB57gChECBgMCAQIRCuCeBwIHaggWB54PCikiDyYLCwoPngcWCGoHAgee4AoRAgYDAgECEQrgngcCB2oIFgeeDwopBEwDAgECEQrgngcCB2oIFgeeDwopIg8mCwsKD54HFghqBwIHnuAKEQIGAwIBAhEK4J4HAgdqCBYHng8KKSIPJgsLCg+eBxYIagcCB57gChECBgAAAAABAAAAAARMBEwAIwAAATMyFhURITIWHQEUBiMhERQGKwEiJjURISImPQE0NjMhETQ2AcLIFR0BXhUdHRX+oh0VyBUd/qIVHR0VAV4dBEwdFf6iHRXIFR3+ohUdHRUBXh0VyBUdAV4VHQAAAAABAHAAAARABEwARQAAATMyFgcBBgchMhYPAQ4BKwEVITIWDwEOASsBFRQGKwEiJj0BISImPwE+ATsBNSEiJj8BPgE7ASYnASY2OwEyHwEWMj8BNgM5+goFCP6UBgUBDAoGBngGGAp9ARMKBgZ4BhgKfQ8LlAsP/u0KBgZ4BhgKff7tCgYGeAYYCnYFBv6UCAUK+hkSpAgUCKQSBEwKCP6UBgwMCKAIDGQMCKAIDK4LDw8LrgwIoAgMZAwIoAgMDAYBbAgKEqQICKQSAAABAGQABQSMBK4AOwAAATIXFhcjNC4DIyIOAwchByEGFSEHIR4EMzI+AzUzBgcGIyInLgEnIzczNjcjNzM+ATc2AujycDwGtSM0QDkXEys4MjAPAXtk/tQGAZZk/tQJMDlCNBUWOUA0I64eYmunznYkQgzZZHABBdpkhhQ+H3UErr1oaS1LMCEPCx4uTzJkMjJkSnRCKw8PIjBKK6trdZ4wqndkLzVkV4UljQAAAgB7AAAETASwAD4ARwAAASEyHgUVHAEVFA4FKwEHITIWDwEOASsBFRQGKwEiJj0BISImPwE+ATsBNSEiJj8BPgE7ARE0NhcRMzI2NTQmIwGsAV5DakIwFgwBAQwWMEJqQ7ICASAKBgZ4BhgKigsKlQoP/vUKBgZ4BhgKdf71CgYGeAYYCnUPtstALS1ABLAaJD8yTyokCwsLJCpQMkAlGmQMCKAIDK8LDg8KrwwIoAgMZAwIoAgMAdsKD8j+1EJWVEAAAAEAyAGQBEwCvAAPAAATITIWHQEUBiMhIiY9ATQ2+gMgFR0dFfzgFR0dArwdFcgVHR0VyBUdAAAAAgDIAAAD6ASwACUAQQAAARUUBisBFRQGBx4BHQEzMhYdASE1NDY7ATU0NjcuAT0BIyImPQEXFRQWFx4BFAYHDgEdASE1NCYnLgE0Njc+AT0BA+gdFTJjUVFjMhUd/OAdFTJjUVFjMhUdyEE3HCAgHDdBAZBBNxwgIBw3QQSwlhUdZFuVIyOVW5YdFZaWFR2WW5UjI5VbZB0VlshkPGMYDDI8MgwYYzyWljxjGAwyPDIMGGM8ZAAAAAEAAAAAAAAAAAAAAAAxAAAB//IBLATCBEEAFgAAATIWFzYzMhYVFAYjISImNTQ2NyY1NDYB9261LCwueKqqeP0ST3FVQgLYBEF3YQ6teHmtclBFaw4MGZnXAAAAAgAAAGQEsASvABoAHgAAAB4BDwEBMzIWHQEhNTQ2OwEBJyY+ARYfATc2AyEnAwL2IAkKiAHTHhQe+1AeFB4B1IcKCSAkCm9wCXoBebbDBLMTIxC7/RYlFSoqFSUC6rcQJBQJEJSWEPwecAIWAAAAAAQAAABkBLAETAALABcAIwA3AAATITIWBwEGIicBJjYXARYUBwEGJjURNDYJATYWFREUBicBJjQHARYGIyEiJjcBNjIfARYyPwE2MhkEfgoFCP3MCBQI/cwIBQMBCAgI/vgICgoDjAEICAoKCP74CFwBbAgFCvuCCgUIAWwIFAikCBQIpAgUBEwKCP3JCAgCNwgK2v74CBQI/vgIBQoCJgoF/vABCAgFCv3aCgUIAQgIFID+lAgKCggBbAgIpAgIpAgAAAAD//D/8AS6BLoACQANABAAAAAyHwEWFA8BJzcTAScJAQUTA+AmDpkNDWPWXyL9mdYCZv4f/rNuBLoNmQ4mDlzWYP50/ZrWAmb8anABTwAAAAEAAAAABLAEsAAPAAABETMyFh0BITU0NjsBEQEhArz6FR384B0V+v4MBLACiv3aHRUyMhUdAiYCJgAAAAEADgAIBEwEnAAfAAABJTYWFREUBgcGLgE2NzYXEQURFAYHBi4BNjc2FxE0NgFwAoUnMFNGT4gkV09IQv2oWEFPiCRXT0hCHQP5ow8eIvzBN1EXGSltchkYEAIJm/2iKmAVGilucRoYEQJ/JioAAAACAAn/+AS7BKcAHQApAAAAMh4CFQcXFAcBFgYPAQYiJwEGIycHIi4CND4BBCIOARQeATI+ATQmAZDItoNOAQFOARMXARY7GikT/u13jgUCZLaDTk6DAXKwlFZWlLCUVlYEp06DtmQCBY15/u4aJRg6FBQBEk0BAU6Dtsi2g1tWlLCUVlaUsJQAAQBkAFgErwREABkAAAE+Ah4CFRQOAwcuBDU0PgIeAQKJMHt4dVg2Q3mEqD4+p4V4Qzhadnh5A7VESAUtU3ZAOXmAf7JVVbJ/gHk5QHZTLQVIAAAAAf/TAF4EewSUABgAAAETNjIXEyEyFgcFExYGJyUFBiY3EyUmNjMBl4MHFQeBAaUVBhH+qoIHDxH+qf6qEQ8Hgv6lEQYUAyABYRMT/p8RDPn+bxQLDPb3DAsUAZD7DBEAAv/TAF4EewSUABgAIgAAARM2MhcTITIWBwUTFgYnJQUGJjcTJSY2MwUjFwc3Fyc3IycBl4MHFQeBAaUVBhH+qoIHDxH+qf6qEQ8Hgv6lEQYUAfPwxUrBw0rA6k4DIAFhExP+nxEM+f5vFAsM9vcMCxQBkPsMEWSO4ouM5YzTAAABAAAAAASwBLAAJgAAATIWHQEUBiMVFBYXBR4BHQEUBiMhIiY9ATQ2NyU+AT0BIiY9ATQ2Alh8sD4mDAkBZgkMDwr7ggoPDAkBZgkMJj6wBLCwfPouaEsKFwbmBRcKXQoPDwpdChcF5gYXCktoLvp8sAAAAA0AAAAABLAETAAPABMAIwAnACsALwAzADcARwBLAE8AUwBXAAATITIWFREUBiMhIiY1ETQ2FxUzNSkBIgYVERQWMyEyNjURNCYzFTM1BRUzNSEVMzUFFTM1IRUzNQchIgYVERQWMyEyNjURNCYFFTM1IRUzNQUVMzUhFTM1GQR+Cg8PCvuCCg8PVWQCo/3aCg8PCgImCg8Pc2T8GGQDIGT8GGQDIGTh/doKDw8KAiYKDw/872QDIGT8GGQDIGQETA8K++YKDw8KBBoKD2RkZA8K/qIKDw8KAV4KD2RkyGRkZGTIZGRkZGQPCv6iCg8PCgFeCg9kZGRkZMhkZGRkAAAEAAAAAARMBEwADwAfAC8APwAAEyEyFhURFAYjISImNRE0NikBMhYVERQGIyEiJjURNDYBITIWFREUBiMhIiY1ETQ2KQEyFhURFAYjISImNRE0NjIBkBUdHRX+cBUdHQJtAZAVHR0V/nAVHR39vQGQFR0dFf5wFR0dAm0BkBUdHRX+cBUdHQRMHRX+cBUdHRUBkBUdHRX+cBUdHRUBkBUd/agdFf5wFR0dFQGQFR0dFf5wFR0dFQGQFR0AAAkAAAAABEwETAAPAB8ALwA/AE8AXwBvAH8AjwAAEzMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYhMzIWHQEUBisBIiY9ATQ2ATMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYhMzIWHQEUBisBIiY9ATQ2ATMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYhMzIWHQEUBisBIiY9ATQ2MsgVHR0VyBUdHQGlyBUdHRXIFR0dAaXIFR0dFcgVHR389cgVHR0VyBUdHQGlyBUdHRXIFR0dAaXIFR0dFcgVHR389cgVHR0VyBUdHQGlyBUdHRXIFR0dAaXIFR0dFcgVHR0ETB0VyBUdHRXIFR0dFcgVHR0VyBUdHRXIFR0dFcgVHf5wHRXIFR0dFcgVHR0VyBUdHRXIFR0dFcgVHR0VyBUd/nAdFcgVHR0VyBUdHRXIFR0dFcgVHR0VyBUdHRXIFR0ABgAAAAAEsARMAA8AHwAvAD8ATwBfAAATMzIWHQEUBisBIiY9ATQ2KQEyFh0BFAYjISImPQE0NgEzMhYdARQGKwEiJj0BNDYpATIWHQEUBiMhIiY9ATQ2ATMyFh0BFAYrASImPQE0NikBMhYdARQGIyEiJj0BNDYyyBUdHRXIFR0dAaUCvBUdHRX9RBUdHf6FyBUdHRXIFR0dAaUCvBUdHRX9RBUdHf6FyBUdHRXIFR0dAaUCvBUdHRX9RBUdHQRMHRXIFR0dFcgVHR0VyBUdHRXIFR3+cB0VyBUdHRXIFR0dFcgVHR0VyBUd/nAdFcgVHR0VyBUdHRXIFR0dFcgVHQAAAAABACYALAToBCAAFwAACQE2Mh8BFhQHAQYiJwEmND8BNjIfARYyAdECOwgUB7EICPzxBxUH/oAICLEHFAirBxYB3QI7CAixBxQI/PAICAGACBQHsQgIqwcAAQBuAG4EQgRCACMAAAEXFhQHCQEWFA8BBiInCQEGIi8BJjQ3CQEmND8BNjIXCQE2MgOIsggI/vUBCwgIsggVB/70/vQHFQiyCAgBC/71CAiyCBUHAQwBDAcVBDuzCBUH/vT+9AcVCLIICAEL/vUICLIIFQcBDAEMBxUIsggI/vUBDAcAAwAX/+sExQSZABkAJQBJAAAAMh4CFRQHARYUDwEGIicBBiMiLgI0PgEEIg4BFB4BMj4BNCYFMzIWHQEzMhYdARQGKwEVFAYrASImPQEjIiY9ATQ2OwE1NDYBmcSzgk1OASwICG0HFQj+1HeOYrSBTU2BAW+zmFhYmLOZWFj+vJYKD0sKDw8KSw8KlgoPSwoPDwpLDwSZTYKzYo15/tUIFQhsCAgBK01NgbTEs4JNWJmzmFhYmLOZIw8KSw8KlgoPSwoPDwpLDwqWCg9LCg8AAAMAF//rBMUEmQAZACUANQAAADIeAhUUBwEWFA8BBiInAQYjIi4CND4BBCIOARQeATI+ATQmBSEyFh0BFAYjISImPQE0NgGZxLOCTU4BLAgIbQcVCP7Ud45itIFNTYEBb7OYWFiYs5lYWP5YAV4KDw8K/qIKDw8EmU2Cs2KNef7VCBUIbAgIAStNTYG0xLOCTViZs5hYWJizmYcPCpYKDw8KlgoPAAAAAAIAFwAXBJkEsAAPAC0AAAEzMhYVERQGKwEiJjURNDYFNRYSFRQOAiIuAjU0EjcVDgEVFB4BMj4BNTQmAiZkFR0dFWQVHR0BD6fSW5vW6tabW9KnZ3xyxejFcnwEsB0V/nAVHR0VAZAVHeGmPv7ZuHXWm1tbm9Z1uAEnPqY3yHh0xXJyxXR4yAAEAGQAAASwBLAADwAfAC8APwAAATMyFhURFAYrASImNRE0NgEzMhYVERQGKwEiJjURNDYBMzIWFREUBisBIiY1ETQ2BTMyFh0BFAYrASImPQE0NgQBlgoPDwqWCg8P/t6WCg8PCpYKDw/+3pYKDw8KlgoPD/7elgoPDwqWCg8PBLAPCvuCCg8PCgR+Cg/+cA8K/RIKDw8KAu4KD/7UDwr+PgoPDwoBwgoPyA8K+goPDwr6Cg8AAAAAAgAaABsElgSWAEcATwAAATIfAhYfATcWFwcXFh8CFhUUDwIGDwEXBgcnBwYPAgYjIi8CJi8BByYnNycmLwImNTQ/AjY/ASc2Nxc3Nj8CNhIiBhQWMjY0AlghKSYFMS0Fhj0rUAMZDgGYBQWYAQ8YA1AwOIYFLDIFJisfISkmBTEtBYY8LFADGQ0ClwYGlwINGQNQLzqFBS0xBSYreLJ+frJ+BJYFmAEOGQJQMDmGBSwxBiYrHiIoJgYxLAWGPSxRAxkOApcFBZcCDhkDUTA5hgUtMAYmKiAhKCYGMC0Fhj0sUAIZDgGYBf6ZfrF+frEABwBkAAAEsAUUABMAFwAhACUAKQAtADEAAAEhMhYdASEyFh0BITU0NjMhNTQ2FxUhNQERFAYjISImNREXETMRMxEzETMRMxEzETMRAfQBLCk7ARMKD/u0DwoBEzspASwBLDsp/UQpO2RkZGRkZGRkBRQ7KWQPCktLCg9kKTtkZGT+1PzgKTs7KQMgZP1EArz9RAK8/UQCvP1EArwAAQAMAAAFCATRAB8AABMBNjIXARYGKwERFAYrASImNREhERQGKwEiJjURIyImEgJsCBUHAmAIBQqvDwr6Cg/+1A8K+goPrwoFAmoCYAcH/aAICv3BCg8PCgF3/okKDw8KAj8KAAIAZAAAA+gEsAARABcAAAERFBYzIREUBiMhIiY1ETQ2MwEjIiY9AQJYOykBLB0V/OAVHR0VA1L6FR0EsP5wKTv9dhUdHRUETBUd/nAdFfoAAwAXABcEmQSZAA8AGwAwAAAAMh4CFA4CIi4CND4BBCIOARQeATI+ATQmBTMyFhURMzIWHQEUBisBIiY1ETQ2AePq1ptbW5vW6tabW1ubAb/oxXJyxejFcnL+fDIKD68KDw8K+goPDwSZW5vW6tabW1ub1urWmztyxejFcnLF6MUNDwr+7Q8KMgoPDwoBXgoPAAAAAAL/nAAABRQEsAALAA8AACkBAyMDIQEzAzMDMwEDMwMFFP3mKfIp/eYBr9EVohTQ/p4b4BsBkP5wBLD+1AEs/nD+1AEsAAAAAAIAZAAABLAEsAAVAC8AAAEzMhYVETMyFgcBBiInASY2OwERNDYBMzIWFREUBiMhIiY1ETQ2OwEyFh0BITU0NgImyBUdvxQLDf65DSYN/rkNCxS/HQJUMgoPDwr75goPDwoyCg8DhA8EsB0V/j4XEP5wEBABkBAXAcIVHfzgDwr+ogoPDwoBXgoPDwqvrwoPAAMAFwAXBJkEmQAPABsAMQAAADIeAhQOAiIuAjQ+AQQiDgEUHgEyPgE0JgUzMhYVETMyFgcDBiInAyY2OwERNDYB4+rWm1tbm9bq1ptbW5sBv+jFcnLF6MVycv58lgoPiRUKDd8NJg3fDQoViQ8EmVub1urWm1tbm9bq1ps7csXoxXJyxejFDQ8K/u0XEP7tEBABExAXARMKDwAAAAMAFwAXBJkEmQAPABsAMQAAADIeAhQOAiIuAjQ+AQQiDgEUHgEyPgE0JiUTFgYrAREUBisBIiY1ESMiJjcTNjIB4+rWm1tbm9bq1ptbW5sBv+jFcnLF6MVycv7n3w0KFYkPCpYKD4kVCg3fDSYEmVub1urWm1tbm9bq1ps7csXoxXJyxejFAf7tEBf+7QoPDwoBExcQARMQAAAAAAIAAAAABLAEsAAZADkAABMhMhYXExYVERQGBwYjISImJyY1EzQ3Ez4BBSEiBgcDBhY7ATIWHwEeATsBMjY/AT4BOwEyNicDLgHhAu4KEwO6BwgFDBn7tAweAgYBB7kDEwKX/dQKEgJXAgwKlgoTAiYCEwr6ChMCJgITCpYKDAJXAhIEsA4K/XQYGf5XDB4CBggEDRkBqRkYAowKDsgOC/4+Cw4OCpgKDg4KmAoODgsBwgsOAAMAFwAXBJkEmQAPABsAJwAAADIeAhQOAiIuAjQ+AQQiDgEUHgEyPgE0JgUXFhQPAQYmNRE0NgHj6tabW1ub1urWm1tbmwG/6MVycsXoxXJy/ov9ERH9EBgYBJlbm9bq1ptbW5vW6tabO3LF6MVycsXoxV2+DCQMvgwLFQGQFQsAAQAXABcEmQSwACgAAAE3NhYVERQGIyEiJj8BJiMiDgEUHgEyPgE1MxQOAiIuAjQ+AjMyA7OHBwsPCv6WCwQHhW2BdMVycsXoxXKWW5vW6tabW1ub1nXABCSHBwQL/pYKDwsHhUxyxejFcnLFdHXWm1tbm9bq1ptbAAAAAAIAFwABBJkEsAAaADUAAAE3NhYVERQGIyEiJj8BJiMiDgEVIzQ+AjMyEzMUDgIjIicHBiY1ETQ2MyEyFg8BFjMyPgEDs4cHCw8L/pcLBAeGboF0xXKWW5vWdcDrllub1nXAnIYHCw8LAWgKBQiFboJ0xXIEJIcHBAv+lwsPCweGS3LFdHXWm1v9v3XWm1t2hggFCgFoCw8LB4VMcsUAAAAKAGQAAASwBLAADwAfAC8APwBPAF8AbwB/AI8AnwAAEyEyFhURFAYjISImNRE0NgUhIgYVERQWMyEyNjURNCYFMzIWHQEUBisBIiY9ATQ2MyEyFh0BFAYjISImPQE0NgczMhYdARQGKwEiJj0BNDYzITIWHQEUBiMhIiY9ATQ2BzMyFh0BFAYrASImPQE0NjMhMhYdARQGIyEiJj0BNDYHMzIWHQEUBisBIiY9ATQ2MyEyFh0BFAYjISImPQE0Nn0EGgoPDwr75goPDwPA/K4KDw8KA1IKDw/9CDIKDw8KMgoPD9IBwgoPDwr+PgoPD74yCg8PCjIKDw/SAcIKDw8K/j4KDw++MgoPDwoyCg8P0gHCCg8PCv4+Cg8PvjIKDw8KMgoPD9IBwgoPDwr+PgoPDwSwDwr7ggoPDwoEfgoPyA8K/K4KDw8KA1IKD2QPCjIKDw8KMgoPDwoyCg8PCjIKD8gPCjIKDw8KMgoPDwoyCg8PCjIKD8gPCjIKDw8KMgoPDwoyCg8PCjIKD8gPCjIKDw8KMgoPDwoyCg8PCjIKDwAAAAACAAAAAARMBLAAGQAjAAABNTQmIyEiBh0BIyIGFREUFjMhMjY1ETQmIyE1NDY7ATIWHQEDhHVT/tRSdmQpOzspA4QpOzsp/ageFMgUHgMgyFN1dlLIOyn9qCk7OykCWCk7lhUdHRWWAAIAZAAABEwETAAJADcAABMzMhYVESMRNDYFMhcWFREUBw4DIyIuAScuAiMiBwYjIicmNRE+ATc2HgMXHgIzMjc2fTIKD2QPA8AEBRADIUNAMRwaPyonKSxHHlVLBwgGBQ4WeDsXKC4TOQQpLUUdZ1AHBEwPCvvNBDMKDzACBhH+WwYGO1AkDQ0ODg8PDzkFAwcPAbY3VwMCAwsGFAEODg5XCAAAAwAAAAAEsASXACEAMQBBAAAAMh4CFREUBisBIiY1ETQuASAOARURFAYrASImNRE0PgEDMzIWFREUBisBIiY1ETQ2ITMyFhURFAYrASImNRE0NgHk6N6jYw8KMgoPjeT++uSNDwoyCg9joyqgCAwMCKAIDAwCYKAIDAwIoAgMDASXY6PedP7UCg8PCgEsf9FyctF//tQKDw8KASx03qP9wAwI/jQIDAwIAcwIDAwI/jQIDAwIAcwIDAAAAAACAAAA0wRHA90AFQA5AAABJTYWFREUBiclJisBIiY1ETQ2OwEyBTc2Mh8BFhQPARcWFA8BBiIvAQcGIi8BJjQ/AScmND8BNjIXAUEBAgkMDAn+/hUZ+goPDwr6GQJYeAcUByIHB3h4BwciBxQHeHgHFAciBwd3dwcHIgcUBwMurAYHCv0SCgcGrA4PCgFeCg+EeAcHIgcUB3h4BxQHIgcHd3cHByIHFAd4eAcUByIICAAAAAACAAAA0wNyA90AFQAvAAABJTYWFREUBiclJisBIiY1ETQ2OwEyJTMWFxYVFAcGDwEiLwEuATc2NTQnJjY/ATYBQQECCQwMCf7+FRn6Cg8PCvoZAdIECgZgWgYLAwkHHQcDBkhOBgMIHQcDLqwGBwr9EgoHBqwODwoBXgoPZAEJgaGafwkBAQYXBxMIZ36EaggUBxYFAAAAAAMAAADEBGID7AAbADEASwAAATMWFxYVFAYHBgcjIi8BLgE3NjU0JicmNj8BNgUlNhYVERQGJyUmKwEiJjURNDY7ATIlMxYXFhUUBwYPASIvAS4BNzY1NCcmNj8BNgPHAwsGh0RABwoDCQcqCAIGbzs3BgIJKgf9ggECCQwMCf7+FRn6Cg8PCvoZAdIECgZgWgYLAwkHHQcDBkhOBgMIHQcD7AEJs9lpy1QJAQYiBhQIlrJarEcJFAYhBb6sBgcK/RIKBwasDg8KAV4KD2QBCYGhmn8JAQEGFwcTCGd+hGoIFQYWBQAAAAANAAAAAASwBLAACQAVABkAHQAhACUALQA7AD8AQwBHAEsATwAAATMVIxUhFSMRIQEjFTMVIREjESM1IQURIREhESERBSM1MwUjNTMBMxEhETM1MwEzFSMVIzUjNTM1IzUhBREhEQcjNTMFIzUzASM1MwUhNSEB9GRk/nBkAfQCvMjI/tTIZAJY+7QBLAGQASz84GRkArxkZP1EyP4MyGQB9MhkyGRkyAEs/UQBLGRkZAOEZGT+DGRkAfT+1AEsA4RkZGQCWP4MZMgBLAEsyGT+1AEs/tQBLMhkZGT+DP4MAfRk/tRkZGRkyGTI/tQBLMhkZGT+1GRkZAAAAAAJAAAAAASwBLAAAwAHAAsADwATABcAGwAfACMAADcjETMTIxEzASMRMxMjETMBIxEzASE1IRcjNTMXIzUzBSM1M2RkZMhkZAGQyMjIZGQBLMjI/OD+1AEsyGRkyGRkASzIyMgD6PwYA+j8GAPo/BgD6PwYA+j7UGRkW1tbW1sAAAIAAAAKBKYEsAANABUAAAkBFhQHAQYiJwETNDYzBCYiBhQWMjYB9AKqCAj+MAgUCP1WAQ8KAUM7Uzs7UzsEsP1WCBQI/jAICAKqAdsKD807O1Q7OwAAAAADAAAACgXSBLAADQAZACEAAAkBFhQHAQYiJwETNDYzIQEWFAcBBiIvAQkBBCYiBhQWMjYB9AKqCAj+MAgUCP1WAQ8KAwYCqggI/jAIFAg4Aaj9RP7TO1M7O1M7BLD9VggUCP4wCAgCqgHbCg/9VggUCP4wCAg4AaoCvM07O1Q7OwAAAAABAGQAAASwBLAAJgAAASEyFREUDwEGJjURNCYjISIPAQYWMyEyFhURFAYjISImNRE0PwE2ASwDOUsSQAgKDwr9RBkSQAgFCgK8Cg8PCvyuCg8SixIEsEv8fBkSQAgFCgO2Cg8SQAgKDwr8SgoPDwoDzxkSixIAAAABAMj//wRMBLAACgAAEyEyFhURCQERNDb6AyAVHf4+/j4dBLAdFfuCAbz+QwR/FR0AAAAAAwAAAAAEsASwABUARQBVAAABISIGBwMGHwEeATMhMjY/ATYnAy4BASMiBg8BDgEjISImLwEuASsBIgYVERQWOwEyNj0BNDYzITIWHQEUFjsBMjY1ETQmASEiBg8BBhYzITI2LwEuAQM2/kQLEAFOBw45BhcKAcIKFwY+DgdTARABVpYKFgROBBYK/doKFgROBBYKlgoPDwqWCg8PCgLuCg8PCpYKDw/+sf4MChMCJgILCgJYCgsCJgITBLAPCv7TGBVsCQwMCWwVGAEtCg/+cA0JnAkNDQmcCQ0PCv12Cg8PCpYKDw8KlgoPDwoCigoP/agOCpgKDg4KmAoOAAAAAAQAAABkBLAETAAdACEAKQAxAAABMzIeAh8BMzIWFREUBiMhIiY1ETQ2OwE+BAEVMzUEIgYUFjI2NCQyFhQGIiY0AfTIOF00JAcGlik7Oyn8GCk7OymWAgknM10ByGT+z76Hh76H/u9WPDxWPARMKTs7FRQ7Kf2oKTs7KQJYKTsIG0U1K/7UZGRGh76Hh74IPFY8PFYAAAAAAgA1AAAEsASvACAAIwAACQEWFx4BHwEVITUyNi8BIQYHBh4CMxUhNTY3PgE/AQEDIQMCqQGBFCgSJQkK/l81LBFS/nk6IgsJKjIe/pM4HAwaBwcBj6wBVKIEr/waMioTFQECQkJXLd6RWSIuHAxCQhgcDCUNDQPu/VoByQAAAAADAGQAAAPwBLAAJwAyADsAAAEeBhUUDgMjITU+ATURNC4EJzUFMh4CFRQOAgclMzI2NTQuAisBETMyNjU0JisBAvEFEzUwOyodN1htbDD+DCk7AQYLFyEaAdc5dWM+Hy0tEP6Pi05pESpTPnbYUFJ9Xp8CgQEHGB0zOlIuQ3VONxpZBzMoAzsYFBwLEAkHRwEpSXNDM1s6KwkxYUopOzQb/K5lUFqBAAABAMgAAANvBLAAGQAAARcOAQcDBhYXFSE1NjcTNjQuBCcmJzUDbQJTQgeECSxK/gy6Dq0DAw8MHxUXDQYEsDkTNSj8uTEoBmFhEFIDQBEaExAJCwYHAwI5AAAAAAL/tQAABRQEsAAlAC8AAAEjNC4FKwERFBYfARUhNTI+AzURIyIOBRUjESEFIxEzByczESM3BRQyCAsZEyYYGcgyGRn+cAQOIhoWyBkYJhMZCwgyA+j7m0tLfX1LS30DhBUgFQ4IAwH8rhYZAQJkZAEFCRUOA1IBAwgOFSAVASzI/OCnpwMgpwACACH/tQSPBLAAJQAvAAABIzQuBSsBERQWHwEVITUyPgM1ESMiDgUVIxEhEwc1IRUnNxUhNQRMMggLGRMmGBnIMhkZ/nAEDiIaFsgZGCYTGQsIMgPoQ6f84KenAyADhBUgFQ4IAwH9dhYZAQJkZAEFCRUOAooBAwgOFSAVASz7gn1LS319S0sABAAAAAAEsARMAA8AHwAvAD8AABMhMhYdARQGIyEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2EyEyFh0BFAYjISImPQE0NhMhMhYdARQGIyEiJj0BNDYyAlgVHR0V/agVHR0VA+gVHR0V/BgVHR0VAyAVHR0V/OAVHR0VBEwVHR0V+7QVHR0ETB0VZBUdHRVkFR3+1B0VZBUdHRVkFR3+1B0VZBUdHRVkFR3+1B0VZBUdHRVkFR0ABAAAAAAEsARMAA8AHwAvAD8AABMhMhYdARQGIyEiJj0BNDYDITIWHQEUBiMhIiY9ATQ2EyEyFh0BFAYjISImPQE0NgMhMhYdARQGIyEiJj0BNDb6ArwVHR0V/UQVHR2zBEwVHR0V+7QVHR3dArwVHR0V/UQVHR2zBEwVHR0V+7QVHR0ETB0VZBUdHRVkFR3+1B0VZBUdHRVkFR3+1B0VZBUdHRVkFR3+1B0VZBUdHRVkFR0ABAAAAAAEsARMAA8AHwAvAD8AAAE1NDYzITIWHQEUBiMhIiYBNTQ2MyEyFh0BFAYjISImEzU0NjMhMhYdARQGIyEiJgE1NDYzITIWHQEUBiMhIiYB9B0VAlgVHR0V/agVHf5wHRUD6BUdHRX8GBUdyB0VAyAVHR0V/OAVHf7UHRUETBUdHRX7tBUdA7ZkFR0dFWQVHR3+6WQVHR0VZBUdHf7pZBUdHRVkFR0d/ulkFR0dFWQVHR0AAAQAAAAABLAETAAPAB8ALwA/AAATITIWHQEUBiMhIiY9ATQ2EyEyFh0BFAYjISImPQE0NhMhMhYdARQGIyEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2MgRMFR0dFfu0FR0dFQRMFR0dFfu0FR0dFQRMFR0dFfu0FR0dFQRMFR0dFfu0FR0dBEwdFWQVHR0VZBUd/tQdFWQVHR0VZBUd/tQdFWQVHR0VZBUd/tQdFWQVHR0VZBUdAAgAAAAABLAETAAPAB8ALwA/AE8AXwBvAH8AABMzMhYdARQGKwEiJj0BNDYpATIWHQEUBiMhIiY9ATQ2ATMyFh0BFAYrASImPQE0NikBMhYdARQGIyEiJj0BNDYBMzIWHQEUBisBIiY9ATQ2KQEyFh0BFAYjISImPQE0NgEzMhYdARQGKwEiJj0BNDYpATIWHQEUBiMhIiY9ATQ2MmQVHR0VZBUdHQFBAyAVHR0V/OAVHR3+6WQVHR0VZBUdHQFBAyAVHR0V/OAVHR3+6WQVHR0VZBUdHQFBAyAVHR0V/OAVHR3+6WQVHR0VZBUdHQFBAyAVHR0V/OAVHR0ETB0VZBUdHRVkFR0dFWQVHR0VZBUd/tQdFWQVHR0VZBUdHRVkFR0dFWQVHf7UHRVkFR0dFWQVHR0VZBUdHRVkFR3+1B0VZBUdHRVkFR0dFWQVHR0VZBUdAAAG/5wAAASwBEwAAwATACMAKgA6AEoAACEjETsCMhYdARQGKwEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2BQc1IzUzNQUhMhYdARQGIyEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2AZBkZJZkFR0dFWQVHR0VAfQVHR0V/gwVHR3++qfIyAHCASwVHR0V/tQVHR0VAlgVHR0V/agVHR0ETB0VZBUdHRVkFR3+1B0VZBUdHRVkFR36fUtkS68dFWQVHR0VZBUd/tQdFWQVHR0VZBUdAAAABgAAAAAFFARMAA8AEwAjACoAOgBKAAATMzIWHQEUBisBIiY9ATQ2ASMRMwEhMhYdARQGIyEiJj0BNDYFMxUjFSc3BSEyFh0BFAYjISImPQE0NhMhMhYdARQGIyEiJj0BNDYyZBUdHRVkFR0dA2dkZPyuAfQVHR0V/gwVHR0EL8jIp6f75gEsFR0dFf7UFR0dFQJYFR0dFf2oFR0dBEwdFWQVHR0VZBUd+7QETP7UHRVkFR0dFWQVHchkS319rx0VZBUdHRVkFR3+1B0VZBUdHRVkFR0AAAAAAgAAAMgEsAPoAA8AEgAAEyEyFhURFAYjISImNRE0NgkCSwLuHywsH/0SHywsBIT+1AEsA+gsH/12HywsHwKKHyz9RAEsASwAAwAAAAAEsARMAA8AFwAfAAATITIWFREUBiMhIiY1ETQ2FxE3BScBExEEMhYUBiImNCwEWBIaGhL7qBIaGkr3ASpKASXs/NJwTk5wTgRMGhL8DBIaGhID9BIaZP0ftoOcAT7+4AH0dE5vT09vAAAAAAIA2wAFBDYEkQAWAB4AAAEyHgEVFAcOAQ8BLgQnJjU0PgIWIgYUFjI2NAKIdcZzRkWyNjYJIV5YbSk8RHOft7eCgreCBJF4ynVzj23pPz4IIWZomEiEdVijeUjDgriBgbgAAAACABcAFwSZBJkADwAXAAAAMh4CFA4CIi4CND4BAREiDgEUHgEB4+rWm1tbm9bq1ptbW5sBS3TFcnLFBJlbm9bq1ptbW5vW6tab/G8DVnLF6MVyAAACAHUAAwPfBQ8AGgA1AAABHgYVFA4DBy4DNTQ+BQMOAhceBBcWNj8BNiYnLgInJjc2IyYCKhVJT1dOPiUzVnB9P1SbfEokP0xXUEm8FykoAwEbITEcExUWAgYCCQkFEikMGiACCAgFD0iPdXdzdYdFR4BeRiYEBTpjl1lFh3ZzeHaQ/f4hS4I6JUEnIw4IBwwQIgoYBwQQQSlZtgsBAAAAAwAAAAAEywRsAAwAKgAvAAABNz4CHgEXHgEPAiUhMhcHISIGFREUFjMhMjY9ATcRFAYjISImNRE0NgkBBzcBA+hsAgYUFR0OFgoFBmz9BQGQMje7/pApOzspAfQpO8i7o/5wpbm5Azj+lqE3AWMD9XMBAgIEDw4WKgsKc8gNuzsp/gwpOzsptsj+tKW5uaUBkKW5/tf+ljKqAWMAAgAAAAAEkwRMABsANgAAASEGByMiBhURFBYzITI2NTcVFAYjISImNRE0NgUBFhQHAQYmJzUmDgMHPgY3NT4BAV4BaaQ0wyk7OykB9Ck7yLml/nClubkCfwFTCAj+rAcLARo5ZFRYGgouOUlARioTAQsETJI2Oyn+DCk7OymZZ6W5uaUBkKW5G/7TBxUH/s4GBAnLAQINFjAhO2JBNB0UBwHSCgUAAAAAAgAAAAAEnQRMAB0ANQAAASEyFwchIgYVERQWMyEyNj0BNxUUBiMhIiY1ETQ2CQE2Mh8BFhQHAQYiLwEmND8BNjIfARYyAV4BXjxDsv6jKTs7KQH0KTvIuaX+cKW5uQHKAYsHFQdlBwf97QcVB/gHB2UHFQdvCBQETBexOyn+DCk7OylFyNulubmlAZCluf4zAYsHB2UHFQf97AcH+AcVB2UHB28HAAAAAQAKAAoEpgSmADsAAAkBNjIXARYGKwEVMzU0NhcBFhQHAQYmPQEjFTMyFgcBBiInASY2OwE1IxUUBicBJjQ3ATYWHQEzNSMiJgE+AQgIFAgBBAcFCqrICggBCAgI/vgICsiqCgUH/vwIFAj++AgFCq/ICgj++AgIAQgICsivCgUDlgEICAj++AgKyK0KBAf+/AcVB/73BwQKrcgKCP74CAgBCAgKyK0KBAcBCQcVBwEEBwQKrcgKAAEAyAAAA4QETAAZAAATMzIWFREBNhYVERQGJwERFAYrASImNRE0NvpkFR0B0A8VFQ/+MB0VZBUdHQRMHRX+SgHFDggV/BgVCA4Bxf5KFR0dFQPoFR0AAAABAAAAAASwBEwAIwAAEzMyFhURATYWFREBNhYVERQGJwERFAYnAREUBisBIiY1ETQ2MmQVHQHQDxUB0A8VFQ/+MBUP/jAdFWQVHR0ETB0V/koBxQ4IFf5KAcUOCBX8GBUIDgHF/koVCA4Bxf5KFR0dFQPoFR0AAAABAJ0AGQSwBDMAFQAAAREUBicBERQGJwEmNDcBNhYVEQE2FgSwFQ/+MBUP/hQPDwHsDxUB0A8VBBr8GBUIDgHF/koVCA4B4A4qDgHgDggV/koBxQ4IAAAAAQDIABYEMwQ2AAsAABMBFhQHAQYmNRE0NvMDLhIS/NISGRkEMv4OCx4L/g4LDhUD6BUOAAIAyABkA4QD6AAPAB8AABMzMhYVERQGKwEiJjURNDYhMzIWFREUBisBIiY1ETQ2+sgVHR0VyBUdHQGlyBUdHRXIFR0dA+gdFfzgFR0dFQMgFR0dFfzgFR0dFQMgFR0AAAEAyABkBEwD6AAPAAABERQGIyEiJjURNDYzITIWBEwdFfzgFR0dFQMgFR0DtvzgFR0dFQMgFR0dAAAAAAEAAAAZBBMEMwAVAAABETQ2FwEWFAcBBiY1EQEGJjURNDYXAfQVDwHsDw/+FA8V/jAPFRUPAmQBthUIDv4gDioO/iAOCBUBtv47DggVA+gVCA4AAAH//gACBLMETwAjAAABNzIWFRMUBiMHIiY1AwEGJjUDAQYmNQM0NhcBAzQ2FwEDNDYEGGQUHgUdFWQVHQL+MQ4VAv4yDxUFFQ8B0gIVDwHSAh0ETgEdFfwYFR0BHRUBtf46DwkVAbX+OQ4JFAPoFQkP/j4BthQJDv49AbYVHQAAAQEsAAAD6ARMABkAAAEzMhYVERQGKwEiJjURAQYmNRE0NhcBETQ2A1JkFR0dFWQVHf4wDxUVDwHQHQRMHRX8GBUdHRUBtv47DggVA+gVCA7+OwG2FR0AAAIAZADIBLAESAALABsAAAkBFgYjISImNwE2MgEhMhYdARQGIyEiJj0BNDYCrgH1DwkW++4WCQ8B9Q8q/fcD6BUdHRX8GBUdHQQ5/eQPFhYPAhwP/UgdFWQVHR0VZBUdAAEAiP/8A3UESgAFAAAJAgcJAQN1/qABYMX92AIoA4T+n/6fxgIoAiYAAAAAAQE7//wEKARKAAUAAAkBJwkBNwQo/dnGAWH+n8YCI/3ZxgFhAWHGAAIAFwAXBJkEmQAPADMAAAAyHgIUDgIiLgI0PgEFIyIGHQEjIgYdARQWOwEVFBY7ATI2PQEzMjY9ATQmKwE1NCYB4+rWm1tbm9bq1ptbW5sBfWQVHZYVHR0Vlh0VZBUdlhUdHRWWHQSZW5vW6tabW1ub1urWm7odFZYdFWQVHZYVHR0Vlh0VZBUdlhUdAAAAAAIAFwAXBJkEmQAPAB8AAAAyHgIUDgIiLgI0PgEBISIGHQEUFjMhMjY9ATQmAePq1ptbW5vW6tabW1ubAkX+DBUdHRUB9BUdHQSZW5vW6tabW1ub1urWm/5+HRVkFR0dFWQVHQACABcAFwSZBJkADwAzAAAAMh4CFA4CIi4CND4BBCIPAScmIg8BBhQfAQcGFB8BFjI/ARcWMj8BNjQvATc2NC8BAePq1ptbW5vW6tabW1ubAeUZCXh4CRkJjQkJeHgJCY0JGQl4eAkZCY0JCXh4CQmNBJlbm9bq1ptbW5vW6tabrQl4eAkJjQkZCXh4CRkJjQkJeHgJCY0JGQl4eAkZCY0AAgAXABcEmQSZAA8AJAAAADIeAhQOAiIuAjQ+AQEnJiIPAQYUHwEWMjcBNjQvASYiBwHj6tabW1ub1urWm1tbmwEVVAcVCIsHB/IHFQcBdwcHiwcVBwSZW5vW6tabW1ub1urWm/4xVQcHiwgUCPEICAF3BxUIiwcHAAAAAAMAFwAXBJkEmQAPADsASwAAADIeAhQOAiIuAjQ+AQUiDgMVFDsBFjc+ATMyFhUUBgciDgUHBhY7ATI+AzU0LgMTIyIGHQEUFjsBMjY9ATQmAePq1ptbW5vW6tabW1ubAT8dPEIyIRSDHgUGHR8UFw4TARkOGhITDAIBDQ6tBx4oIxgiM0Q8OpYKDw8KlgoPDwSZW5vW6tabW1ub1urWm5ELHi9PMhkFEBQQFRIXFgcIBw4UHCoZCBEQKDhcNi9IKhsJ/eMPCpYKDw8KlgoPAAADABcAFwSZBJkADwAfAD4AAAAyHgIUDgIiLgI0PgEFIyIGHQEUFjsBMjY9ATQmAyMiBh0BFBY7ARUjIgYdARQWMyEyNj0BNCYrARE0JgHj6tabW1ub1urWm1tbmwGWlgoPDwqWCg8PCvoKDw8KS0sKDw8KAV4KDw8KSw8EmVub1urWm1tbm9bq1ptWDwqWCg8PCpYKD/7UDwoyCg/IDwoyCg8PCjIKDwETCg8AAgAAAAAEsASwAC8AXwAAATMyFh0BHgEXMzIWHQEUBisBDgEHFRQGKwEiJj0BLgEnIyImPQE0NjsBPgE3NTQ2ExUUBisBIiY9AQ4BBzMyFh0BFAYrAR4BFzU0NjsBMhYdAT4BNyMiJj0BNDY7AS4BAg2WCg9nlxvCCg8PCsIbl2cPCpYKD2eXG8IKDw8KwhuXZw+5DwqWCg9EZheoCg8PCqgXZkQPCpYKD0RmF6gKDw8KqBdmBLAPCsIbl2cPCpYKD2eXG8IKDw8KwhuXZw8KlgoPZ5cbwgoP/s2oCg8PCqgXZkQPCpYKD0RmF6gKDw8KqBdmRA8KlgoPRGYAAwAXABcEmQSZAA8AGwA/AAAAMh4CFA4CIi4CND4BBCIOARQeATI+ATQmBxcWFA8BFxYUDwEGIi8BBwYiLwEmND8BJyY0PwE2Mh8BNzYyAePq1ptbW5vW6tabW1ubAb/oxXJyxejFcnKaQAcHfHwHB0AHFQd8fAcVB0AHB3x8BwdABxUHfHwHFQSZW5vW6tabW1ub1urWmztyxejFcnLF6MVaQAcVB3x8BxUHQAcHfHwHB0AHFQd8fAcVB0AHB3x8BwAAAAMAFwAXBJkEmQAPABsAMAAAADIeAhQOAiIuAjQ+AQQiDgEUHgEyPgE0JgcXFhQHAQYiLwEmND8BNjIfATc2MgHj6tabW1ub1urWm1tbmwG/6MVycsXoxXJyg2oHB/7ACBQIyggIagcVB0/FBxUEmVub1urWm1tbm9bq1ps7csXoxXJyxejFfWoHFQf+vwcHywcVB2oICE/FBwAAAAMAFwAXBJkEmQAPABgAIQAAADIeAhQOAiIuAjQ+AQUiDgEVFBcBJhcBFjMyPgE1NAHj6tabW1ub1urWm1tbmwFLdMVyQQJLafX9uGhzdMVyBJlbm9bq1ptbW5vW6tabO3LFdHhpAktB0P24PnLFdHMAAAAAAQAXAFMEsAP5ABUAABMBNhYVESEyFh0BFAYjIREUBicBJjQnAgoQFwImFR0dFf3aFxD99hACRgGrDQoV/t0dFcgVHf7dFQoNAasNJgAAAAABAAAAUwSZA/kAFQAACQEWFAcBBiY1ESEiJj0BNDYzIRE0NgJ/AgoQEP32EBf92hUdHRUCJhcD8f5VDSYN/lUNChUBIx0VyBUdASMVCgAAAAEAtwAABF0EmQAVAAAJARYGIyERFAYrASImNREhIiY3ATYyAqoBqw0KFf7dHRXIFR3+3RUKDQGrDSYEif32EBf92hUdHRUCJhcQAgoQAAAAAQC3ABcEXQSwABUAAAEzMhYVESEyFgcBBiInASY2MyERNDYCJsgVHQEjFQoN/lUNJg3+VQ0KFQEjHQSwHRX92hcQ/fYQEAIKEBcCJhUdAAABAAAAtwSZBF0AFwAACQEWFAcBBiY1EQ4DBz4ENxE0NgJ/AgoQEP32EBdesKWBJAUsW4fHfhcEVf5VDSYN/lUNChUBIwIkRHVNabGdcUYHAQYVCgACAAAAAASwBLAAFQArAAABITIWFREUBi8BBwYiLwEmND8BJyY2ASEiJjURNDYfATc2Mh8BFhQPARcWBgNSASwVHRUOXvkIFAhqBwf5Xg4I/iH+1BUdFQ5e+QgUCGoHB/leDggEsB0V/tQVCA5e+QcHaggUCPleDhX7UB0VASwVCA5e+QcHaggUCPleDhUAAAACAEkASQRnBGcAFQArAAABFxYUDwEXFgYjISImNRE0Nh8BNzYyASEyFhURFAYvAQcGIi8BJjQ/AScmNgP2agcH+V4OCBX+1BUdFQ5e+QgU/QwBLBUdFQ5e+QgUCGoHB/leDggEYGoIFAj5Xg4VHRUBLBUIDl75B/3xHRX+1BUIDl75BwdqCBQI+V4OFQAAAAADABcAFwSZBJkADwAfAC8AAAAyHgIUDgIiLgI0PgEFIyIGFxMeATsBMjY3EzYmAyMiBh0BFBY7ATI2PQE0JgHj6tabW1ub1urWm1tbmwGz0BQYBDoEIxQ2FCMEOgQYMZYKDw8KlgoPDwSZW5vW6tabW1ub1urWm7odFP7SFB0dFAEuFB3+DA8KlgoPDwqWCg8AAAAABQAAAAAEsASwAEkAVQBhAGgAbwAAATIWHwEWHwEWFxY3Nj8BNjc2MzIWHwEWHwIeATsBMhYdARQGKwEiBh0BIREjESE1NCYrASImPQE0NjsBMjY1ND8BNjc+BAUHBhY7ATI2LwEuAQUnJgYPAQYWOwEyNhMhIiY1ESkBERQGIyERAQQJFAUFFhbEFQ8dCAsmxBYXERUXMA0NDgQZCAEPCj0KDw8KMgoP/nDI/nAPCjIKDw8KPQsOCRkFDgIGFRYfAp2mBwQK2woKAzMDEP41sQgQAzMDCgrnCwMe/okKDwGQAlgPCv6JBLAEAgIKDXYNCxUJDRZ2DQoHIREQFRh7LAkLDwoyCg8PCq8BLP7UrwoPDwoyCg8GBQQwgBkUAwgWEQ55ogcKDgqVCgSqnQcECo8KDgr8cg8KAXf+iQoPAZAAAAAAAgAAAAwErwSmACsASQAAATYWFQYCDgQuAScmByYOAQ8BBiY1NDc+ATc+AScuAT4BNz4GFyYGBw4BDwEOBAcOARY2Nz4CNz4DNz4BBI0IGgItQmxhi2KORDg9EQQRMxuZGhYqCFUYEyADCQIQOjEnUmFch3vAJQgdHyaiPT44XHRZUhcYDhItIRmKcVtGYWtbKRYEBKYDEwiy/t3IlVgxEQgLCwwBAQIbG5kYEyJAJghKFRE8Hzdff4U/M0o1JSMbL0QJGCYvcSEhHjZST2c1ODwEJygeW0AxJUBff1UyFAABAF0AHgRyBM8ATwAAAQ4BHgQXLgc+ATceAwYHDgQHBicmNzY3PgQuAScWDgMmJy4BJyY+BDcGHgM3PgEuAicmPgMCjScfCic4R0IgBBsKGAoQAwEJEg5gikggBhANPkpTPhZINx8SBgsNJysiCRZOQQoVNU1bYC9QZwICBAUWITsoCAYdJzIYHw8YIiYHDyJJYlkEz0OAZVxEOSQMBzgXOB42IzElKRIqg5Gnl0o3Z0c6IAYWCwYNAwQFIDhHXGF1OWiqb0sdBxUknF0XNTQ8PEUiNWNROBYJDS5AQVUhVZloUSkAAAAAA//cAGoE1ARGABsAPwBRAAAAMh4FFA4FIi4FND4EBSYGFxYVFAYiJjU0NzYmBwYHDgEXHgQyPgM3NiYnJgUHDgEXFhcWNj8BNiYnJicuAQIGpJ17bk85HBw6T257naKde25POhwcOU9uewIPDwYIGbD4sBcIBw5GWg0ECxYyWl+DiINfWjIWCwQMWv3/Iw8JCSU4EC0OIw4DDywtCyIERi1JXGJcSSpJXGJcSS0tSVxiXEkqSVxiXEncDwYTOT58sLB8OzcTBg9FcxAxEiRGXkQxMEVeRSQSMRF1HiQPLxJEMA0EDyIPJQ8sSRIEAAAABP/cAAAE1ASwABQAJwA7AEwAACEjNy4ENTQ+BTMyFzczEzceARUUDgMHNz4BNzYmJyYlBgcOARceBBc3LgE1NDc2JhcHDgEXFhcWNj8CJyYnLgECUJQfW6l2WSwcOU9ue51SPUEglCYvbIknUGqYUi5NdiYLBAw2/VFGWg0ECxIqSExoNSlrjxcIB3wjDwkJJTgQLQ4MFgMsLQsieBRhdHpiGxVJXGJcSS0Pef5StVXWNBpacm5jGq0xiD8SMRFGckVzEDESHjxRQTkNmhKnbjs3EwZwJA8vEkQwDQQPC1YELEkSBAAAAAP/ngAABRIEqwALABgAKAAAJwE2FhcBFgYjISImJSE1NDY7ATIWHQEhAQczMhYPAQ4BKwEiJi8BJjZaAoIUOBQCghUbJfryJRsBCgFZDwqWCg8BWf5DaNAUGAQ6BCMUNhQjBDoEGGQEKh8FIfvgIEdEhEsKDw8KSwLT3x0U/BQdHRT8FB0AAAABAGQAFQSwBLAAKAAAADIWFREBHgEdARQGJyURFh0BFAYvAQcGJj0BNDcRBQYmPQE0NjcBETQCTHxYAWsPFhgR/plkGhPNzRMaZP6ZERgWDwFrBLBYPv6t/rsOMRQpFA0M+f75XRRAFRAJgIAJEBVAFF0BB/kMDRQpFDEOAUUBUz4AAAARAAAAAARMBLAAHQAnACsALwAzADcAOwA/AEMARwBLAE8AUwBXAFsAXwBjAAABMzIWHQEzMhYdASE1NDY7ATU0NjsBMhYdASE1NDYBERQGIyEiJjURFxUzNTMVMzUzFTM1MxUzNTMVMzUFFTM1MxUzNTMVMzUzFTM1MxUzNQUVMzUzFTM1MxUzNTMVMzUzFTM1A1JkFR0yFR37tB0VMh0VZBUdAfQdAQ8dFfwYFR1kZGRkZGRkZGRk/HxkZGRkZGRkZGT8fGRkZGRkZGRkZASwHRUyHRWWlhUdMhUdHRUyMhUd/nD9EhUdHRUC7shkZGRkZGRkZGRkyGRkZGRkZGRkZGTIZGRkZGRkZGRkZAAAAAMAAAAZBXcElwAZACUANwAAARcWFA8BBiY9ASMBISImPQE0NjsBATM1NDYBBycjIiY9ATQ2MyEBFxYUDwEGJj0BIyc3FzM1NDYEb/kPD/kOFZ/9qP7dFR0dFdECWPEV/amNetEVHR0VASMDGvkPD/kOFfG1jXqfFQSN5g4qDuYOCBWW/agdFWQVHQJYlhUI/piNeh0VZBUd/k3mDioO5g4IFZa1jXqWFQgAAAABAAAAAASwBEwAEgAAEyEyFhURFAYjIQERIyImNRE0NmQD6Ck7Oyn9rP7QZCk7OwRMOyn9qCk7/tQBLDspAlgpOwAAAAMAZAAABEwEsAAJABMAPwAAEzMyFh0BITU0NiEzMhYdASE1NDYBERQOBSIuBTURIRUUFRwBHgYyPgYmNTQ9AZbIFR3+1B0C0cgVHf7UHQEPBhgoTGacwJxmTCgYBgEsAwcNFB8nNkI2Jx8TDwUFAQSwHRX6+hUdHRX6+hUd/nD+1ClJalZcPigoPlxWakkpASz6CRIVKyclIRsWEAgJEBccISUnKhURCPoAAAAB//8A1ARMA8IABQAAAQcJAScBBEzG/p/+n8UCJwGbxwFh/p/HAicAAQAAAO4ETQPcAAUAAAkCNwkBBE392v3ZxgFhAWEDFf3ZAifH/p8BYQAAAAAC/1EAZAVfA+gAFAApAAABITIWFREzMhYPAQYiLwEmNjsBESElFxYGKwERIRchIiY1ESMiJj8BNjIBlALqFR2WFQgO5g4qDuYOCBWW/oP+HOYOCBWWAYHX/RIVHZYVCA7mDioD6B0V/dkVDvkPD/kOFQGRuPkOFf5wyB0VAiYVDvkPAAABAAYAAASeBLAAMAAAEzMyFh8BITIWBwMOASMhFyEyFhQGKwEVFAYiJj0BIRUUBiImPQEjIiYvAQMjIiY0NjheERwEJgOAGB4FZAUsIf2HMAIXFR0dFTIdKh3+1B0qHR8SHQYFyTYUHh4EsBYQoiUY/iUVK8gdKh0yFR0dFTIyFR0dFTIUCQoDwR0qHQAAAAACAAAAAASwBEwACwAPAAABFSE1MzQ2MyEyFhUFIREhBLD7UMg7KQEsKTv9RASw+1AD6GRkKTs7Kcj84AACAAAAAAXcBEwADAAQAAATAxEzNDYzITIWFSEVBQEhAcjIyDspASwqOgH0ASz+1PtQASwDIP5wAlgpOzspyGT9RAK8AAEBRQAAA2sErwAbAAABFxYGKwERMzIWDwEGIi8BJjY7AREjIiY/ATYyAnvmDggVlpYVCA7mDioO5g4IFZaWFQgO5g4qBKD5DhX9pxUO+Q8P+Q4VAlkVDvkPAAAAAQABAUQErwNrABsAAAEXFhQPAQYmPQEhFRQGLwEmND8BNhYdASE1NDYDqPkODvkPFf2oFQ/5Dg75DxUCWBUDYOUPKQ/lDwkUl5cUCQ/lDykP5Q8JFZWVFQkAAAAEAAAAAASwBLAACQAZAB0AIQAAAQMuASMhIgYHAwUhIgYdARQWMyEyNj0BNCYFNTMVMzUzFQSRrAUkFP1gFCQFrAQt/BgpOzspA+gpOzv+q2RkZAGQAtwXLSgV/R1kOylkKTs7KWQpO8hkZGRkAAAAA/+cAGQEsARMAAsAIwAxAAAAMhYVERQGIiY1ETQDJSMTFgYjIisBIiYnAj0BNDU0PgE7ASUBFSIuAz0BND4CNwRpKh0dKh1k/V0mLwMRFQUCVBQdBDcCCwzIAqP8GAQOIhoWFR0dCwRMHRX8rhUdHRUDUhX8mcj+7BAIHBUBUQ76AgQQDw36/tT6AQsTKRwyGigUDAEAAAACAEoAAARmBLAALAA1AAABMzIWDwEeARcTFzMyFhQGBw4EIyIuBC8BLgE0NjsBNxM+ATcnJjYDFjMyNw4BIiYCKV4UEgYSU3oPP3YRExwaEggeZGqfTzl0XFU+LwwLEhocExF2Pw96UxIGEyQyNDUxDDdGOASwFRMlE39N/rmtHSkoBwQLHBYSCg4REg4FBAgoKR2tAUdNfhQgExr7vgYGMT09AAEAFAAUBJwEnAAXAAABNwcXBxcHFycHJwcnBzcnNyc3Jxc3FzcDIOBO6rS06k7gLZubLeBO6rS06k7gLZubA7JO4C2bmy3gTuq0tOpO4C2bmy3gTuq0tAADAAAAZASwBLAAIQAtAD0AAAEzMhYdAQchMhYdARQHAw4BKwEiJi8BIyImNRE0PwI+ARcPAREzFzMTNSE3NQEzMhYVERQGKwEiJjURNDYCijIoPBwBSCg8He4QLBf6B0YfHz0tNxSRYA0xG2SWZIjW+v4+Mv12ZBUdHRVkFR0dBLBRLJZ9USxkLR3+qBghMhkZJCcBkCQbxMYcKGTU1f6JZAF3feGv/tQdFf4MFR0dFQH0FR0AAAAAAwAAAAAEsARMACAAMAA8AAABMzIWFxMWHQEUBiMhFh0BFAYrASImLwImNRE0NjsBNgUzMhYVERQGKwEiJjURNDYhByMRHwEzNSchNQMCWPoXLBDuHTwo/rgcPCgyGzENYJEUNy09fP3pZBUdHRVkFR0dAl+IZJZkMjIBwvoETCEY/qgdLWQsUXYHlixRKBzGxBskAZAnJGRkHRX+DBUdHRUB9BUdZP6J1dSv4X0BdwADAAAAZAUOBE8AGwA3AEcAAAElNh8BHgEPASEyFhQGKwEDDgEjISImNRE0NjcXERchEz4BOwEyNiYjISoDLgQnJj8BJwUzMhYVERQGKwEiJjURNDYBZAFrHxZuDQEMVAEuVGxuVGqDBhsP/qoHphwOOmQBJYMGGw/LFRMSFv44AgoCCQMHAwUDAQwRklb9T2QVHR0VZBUdHQNp5hAWcA0mD3lMkE7+rRUoog0CDRElCkj+CVkBUxUoMjIBAgIDBQIZFrdT5B0V/gwVHR0VAfQVHQAAAAP/nABkBLAETwAdADYARgAAAQUeBBURFAYjISImJwMjIiY0NjMhJyY2PwE2BxcWBw4FKgIjIRUzMhYXEyE3ESUFMzIWFREUBisBIiY1ETQ2AdsBbgIIFBANrAf+qg8bBoNqVW1sVAEuVQsBDW4WSpIRDAIDBQMHAwkDCgH+Jd0PHAaCASZq/qoCUGQVHR0VZBUdHQRP5gEFEBEXC/3zDaIoFQFTTpBMeQ8mDXAWrrcWGQIFAwICAWQoFf6tWQH37OQdFf4MFR0dFQH0FR0AAAADAGEAAARMBQ4AGwA3AEcAAAAyFh0BBR4BFREUBiMhIiYvAQMmPwE+AR8BETQXNTQmBhURHAMOBAcGLwEHEyE3ESUuAQMhMhYdARQGIyEiJj0BNDYB3pBOAVMVKKIN/fMRJQoJ5hAWcA0mD3nGMjIBAgIDBQIZFrdT7AH3Wf6tFSiWAfQVHR0V/gwVHR0FDm5UaoMGGw/+qgemHA4OAWsfFm4NAQxUAS5U1ssVExIW/jgCCgIJAwcDBQMBDBGSVv6tZAElgwYb/QsdFWQVHR0VZBUdAAP//QAGA+gFFAAPAC0ASQAAASEyNj0BNCYjISIGHQEUFgEVFAYiJjURBwYmLwEmNxM+BDMhMhYVERQGBwEDFzc2Fx4FHAIVERQWNj0BNDY3JREnAV4B9BUdHRX+DBUdHQEPTpBMeQ8mDXAWEOYBBRARFwsCDQ2iKBX9iexTtxYZAgUDAgIBMjIoFQFTWQRMHRVkFR0dFWQVHfzmalRubFQBLlQMAQ1uFh8BawIIEw8Mpgf+qg8bBgHP/q1WkhEMAQMFAwcDCQIKAv44FhITFcsPGwaDASVkAAIAFgAWBJoEmgAPACUAAAAyHgIUDgIiLgI0PgEBJSYGHQEhIgYdARQWMyEVFBY3JTY0AeLs1ptbW5vW7NabW1ubAob+7RAX/u0KDw8KARMXEAETEASaW5vW7NabW1ub1uzWm/453w0KFYkPCpYKD4kVCg3fDSYAAAIAFgAWBJoEmgAPACUAAAAyHgIUDgIiLgI0PgENAQYUFwUWNj0BITI2PQE0JiMhNTQmAeLs1ptbW5vW7NabW1ubASX+7RAQARMQFwETCg8PCv7tFwSaW5vW7NabW1ub1uzWm+jfDSYN3w0KFYkPCpYKD4kVCgAAAAIAFgAWBJoEmgAPACUAAAAyHgIUDgIiLgI0PgEBAyYiBwMGFjsBERQWOwEyNjURMzI2AeLs1ptbW5vW7NabW1ubAkvfDSYN3w0KFYkPCpYKD4kVCgSaW5vW7NabW1ub1uzWm/5AARMQEP7tEBf+7QoPDwoBExcAAAIAFgAWBJoEmgAPACUAAAAyHgIUDgIiLgI0PgEFIyIGFREjIgYXExYyNxM2JisBETQmAeLs1ptbW5vW7NabW1ubAZeWCg+JFQoN3w0mDd8NChWJDwSaW5vW7NabW1ub1uzWm7sPCv7tFxD+7RAQARMQFwETCg8AAAMAGAAYBJgEmAAPAJYApgAAADIeAhQOAiIuAjQ+ASUOAwcGJgcOAQcGFgcOAQcGFgcUFgcyHgEXHgIXHgI3Fg4BFx4CFxQGFBcWNz4CNy4BJy4BJyIOAgcGJyY2NS4BJzYuAQYHBicmNzY3HgIXHgMfAT4CJyY+ATc+AzcmNzIWMjY3LgMnND4CJiceAT8BNi4CJwYHFB4BFS4CJz4BNxYyPgEB5OjVm1xcm9Xo1ZtcXJsBZA8rHDoKDz0PFD8DAxMBAzEFCRwGIgEMFhkHECIvCxU/OR0HFBkDDRQjEwcFaHUeISQDDTAMD0UREi4oLBAzDwQBBikEAQMLGhIXExMLBhAGKBsGBxYVEwYFAgsFAwMNFwQGCQcYFgYQCCARFwkKKiFBCwQCAQMDHzcLDAUdLDgNEiEQEgg/KhADGgMKEgoRBJhcm9Xo1ZtcXJvV6NWbEQwRBwkCAwYFBycPCxcHInIWInYcCUcYChQECA4QBAkuHgQPJioRFRscBAcSCgwCch0kPiAIAQcHEAsBAgsLIxcBMQENCQIPHxkCFBkdHB4QBgEBBwoMGBENBAMMJSAQEhYXDQ4qFBkKEhIDCQsXJxQiBgEOCQwHAQ0DBAUcJAwSCwRnETIoAwEJCwsLJQcKDBEAAAAAAQAAAAIErwSFABYAAAE2FwUXNxYGBw4BJwEGIi8BJjQ3ASY2AvSkjv79kfsGUE08hjv9rA8rD28PDwJYIk8EhVxliuh+WYcrIgsW/awQEG4PKxACV2XJAAYAAABgBLAErAAPABMAIwAnADcAOwAAEyEyFh0BFAYjISImPQE0NgUjFTMFITIWHQEUBiMhIiY9ATQ2BSEVIQUhMhYdARQGIyEiJj0BNDYFIRUhZAPoKTs7KfwYKTs7BBHIyPwYA+gpOzsp/BgpOzsEEf4MAfT8GAPoKTs7KfwYKTs7BBH+1AEsBKw7KWQpOzspZCk7ZGTIOylkKTs7KWQpO2RkyDspZCk7OylkKTtkZAAAAAIAZAAABEwEsAALABEAABMhMhYUBiMhIiY0NgERBxEBIZYDhBUdHRX8fBUdHQI7yP6iA4QEsB0qHR0qHf1E/tTIAfQB9AAAAAMAAABkBLAEsAAXABsAJQAAATMyFh0BITIWFREhNSMVIRE0NjMhNTQ2FxUzNQEVFAYjISImPQEB9MgpOwEsKTv+DMj+DDspASw7KcgB9Dsp/BgpOwSwOylkOyn+cGRkAZApO2QpO2RkZP1EyCk7OynIAAAABAAAAAAEsASwABUAKwBBAFcAABMhMhYPARcWFA8BBiIvAQcGJjURNDYpATIWFREUBi8BBwYiLwEmND8BJyY2ARcWFA8BFxYGIyEiJjURNDYfATc2MgU3NhYVERQGIyEiJj8BJyY0PwE2MhcyASwVCA5exwcHaggUCMdeDhUdAzUBLBUdFQ5exwgUCGoHB8deDgj+L2oHB8deDggV/tQVHRUOXscIFALLXg4VHRX+1BUIDl7HBwdqCBQIBLAVDl7HCBQIagcHx14OCBUBLBUdHRX+1BUIDl7HBwdqCBQIx14OFf0maggUCMdeDhUdFQEsFQgOXscHzl4OCBX+1BUdFQ5exwgUCGoHBwAAAAYAAAAABKgEqAAPABsAIwA7AEMASwAAADIeAhQOAiIuAjQ+AQQiDgEUHgEyPgE0JiQyFhQGIiY0JDIWFAYjIicHFhUUBiImNTQ2PwImNTQEMhYUBiImNCQyFhQGIiY0Advy3Z9fX5/d8t2gXl6gAcbgv29vv+C/b2/+LS0gIC0gAUwtICAWDg83ETNIMykfegEJ/octICAtIAIdLSAgLSAEqF+f3fLdoF5eoN3y3Z9Xb7/gv29vv+C/BiAtISEtICAtIQqRFxwkMzMkIDEFfgEODhekIC0gIC0gIC0gIC0AAf/YAFoEuQS8AFsAACUBNjc2JicmIyIOAwcABw4EFx4BMzI3ATYnLgEjIgcGBwEOASY0NwA3PgEzMhceARcWBgcOBgcGIyImJyY2NwE2NzYzMhceARcWBgcBDgEnLgECIgHVWwgHdl8WGSJBMD8hIP6IDx4eLRMNBQlZN0ozAiQkEAcdEhoYDRr+qw8pHA4BRyIjQS4ODyw9DQ4YIwwod26La1YOOEBGdiIwGkQB/0coW2tQSE5nDxE4Qv4eDyoQEAOtAdZbZWKbEQQUGjIhH/6JDxsdNSg3HT5CMwIkJCcQFBcMGv6uDwEcKQ4BTSIjIQEINykvYyMLKnhuiWZMBxtAOU6+RAH/SBg3ISSGV121Qv4kDwIPDyYAAAACAGQAWASvBEQAGQBEAAABPgIeAhUUDgMHLgQ1ND4CHgEFIg4DIi4DIyIGFRQeAhcWFx4EMj4DNzY3PgQ1NCYCiTB7eHVYNkN5hKg+PqeFeEM4WnZ4eQEjIT8yLSohJyktPyJDbxtBMjMPBw86KzEhDSIzKUAMBAgrKT8dF2oDtURIBS1TdkA5eYB/slVVsn+AeTlAdlMtBUgtJjY1JiY1NiZvTRc4SjQxDwcOPCouGBgwKEALBAkpKkQqMhNPbQACADn/8gR3BL4AFwAuAAAAMh8BFhUUBg8BJi8BNycBFwcvASY0NwEDNxYfARYUBwEGIi8BJjQ/ARYfAQcXAQKru0KNQjgiHR8uEl/3/nvUaRONQkIBGxJpCgmNQkL+5UK6Qo1CQjcdLhJf9wGFBL5CjUJeKmsiHTUuEl/4/nvUahKNQrpCARv+RmkICY1CukL+5UJCjUK7Qjc3LxFf+AGFAAAAAAMAyAAAA+gEsAARABUAHQAAADIeAhURFAYjISImNRE0PgEHESERACIGFBYyNjQCBqqaZDo7Kf2oKTs8Zj4CWP7/Vj09Vj0EsB4uMhX8Ryk7OykDuRUzLar9RAK8/RY9Vj09VgABAAAAAASwBLAAFgAACQEWFAYiLwEBEScBBRMBJyEBJyY0NjIDhgEbDx0qDiT+6dT+zP7oywEz0gEsAQsjDx0qBKH+5g8qHQ8j/vX+1NL+zcsBGAE01AEXJA4qHQAAAAADAScAEQQJBOAAMgBAAEsAAAEVHgQXIy4DJxEXHgQVFAYHFSM1JicuASczHgEXEScuBDU0PgI3NRkBDgMVFB4DFxYXET4ENC4CArwmRVI8LAKfBA0dMydAIjxQNyiym2SWVygZA4sFV0obLkJOMCAyVWg6HSoqFQ4TJhkZCWgWKTEiGBkzNwTgTgUTLD9pQiQuLBsH/s0NBxMtPGQ+i6oMTU8QVyhrVk1iEAFPCA4ZLzlYNkZwSCoGTf4SARIEDh02Jh0rGRQIBgPQ/soCCRYgNEM0JRkAAAABAGQAZgOUBK0ASgAAATIeARUjNC4CIyIGBwYVFB4BFxYXMxUjFgYHBgc+ATM2FjMyNxcOAyMiLgEHDgEPASc+BTc+AScjNTMmJy4CPgE3NgIxVJlemSc8OxolVBQpGxoYBgPxxQgVFS02ImIWIIwiUzUyHzY4HCAXanQmJ1YYFzcEGAcTDBEJMAwk3aYXFQcKAg4tJGEErVCLTig/IhIdFSw5GkowKgkFZDKCHj4yCg8BIh6TExcIASIfBAMaDAuRAxAFDQsRCjePR2QvORQrREFMIVgAAAACABn//wSXBLAADwAfAAABMzIWDwEGIi8BJjY7AREzBRcWBisBESMRIyImPwE2MgGQlhUIDuYOKg7mDggVlsgCF+YOCBWWyJYVCA7mDioBLBYO+g8P+g4WA4QQ+Q4V/HwDhBUO+Q8AAAQAGf//A+gEsAAHABcAGwAlAAABIzUjFSMRIQEzMhYPAQYiLwEmNjsBETMFFTM1EwczFSE1NyM1IQPoZGRkASz9qJYVCA7mDioO5g4IFZbIAZFkY8jI/tTIyAEsArxkZAH0/HwWDvoPD/oOFgOEZMjI/RL6ZJb6ZAAAAAAEABn//wPoBLAADwAZACEAJQAAATMyFg8BBiIvASY2OwERMwUHMxUhNTcjNSERIzUjFSMRIQcVMzUBkJYVCA7mDioO5g4IFZbIAljIyP7UyMgBLGRkZAEsx2QBLBYO+g8P+g4WA4SW+mSW+mT7UGRkAfRkyMgAAAAEABn//wRMBLAADwAVABsAHwAAATMyFg8BBiIvASY2OwERMwEjESM1MxMjNSMRIQcVMzUBkJYVCA7mDioO5g4IFZbIAlhkZMhkZMgBLMdkASwWDvoPD/oOFgOE/gwBkGT7UGQBkGTIyAAAAAAEABn//wRMBLAADwAVABkAHwAAATMyFg8BBiIvASY2OwERMwEjNSMRIQcVMzUDIxEjNTMBkJYVCA7mDioO5g4IFZbIArxkyAEsx2QBZGTIASwWDvoPD/oOFgOE/gxkAZBkyMj7tAGQZAAAAAAFABn//wSwBLAADwATABcAGwAfAAABMzIWDwEGIi8BJjY7AREzBSM1MxMhNSETITUhEyE1IQGQlhUIDuYOKg7mDggVlsgB9MjIZP7UASxk/nABkGT+DAH0ASwWDvoPD/oOFgOEyMj+DMj+DMj+DMgABQAZ//8EsASwAA8AEwAXABsAHwAAATMyFg8BBiIvASY2OwERMwUhNSEDITUhAyE1IQMjNTMBkJYVCA7mDioO5g4IFZbIAyD+DAH0ZP5wAZBk/tQBLGTIyAEsFg76Dw/6DhYDhMjI/gzI/gzI/gzIAAIAAAAABEwETAAPAB8AAAEhMhYVERQGIyEiJjURNDYFISIGFREUFjMhMjY1ETQmAV4BkKK8u6P+cKW5uQJn/gwpOzspAfQpOzsETLuj/nClubmlAZClucg7Kf4MKTs7KQH0KTsAAAAAAwAAAAAETARMAA8AHwArAAABITIWFREUBiMhIiY1ETQ2BSEiBhURFBYzITI2NRE0JgUXFhQPAQYmNRE0NgFeAZClubml/nCju7wCZP4MKTs7KQH0KTs7/m/9ERH9EBgYBEy5pf5wpbm5pQGQo7vIOyn+DCk7OykB9Ck7gr4MJAy+DAsVAZAVCwAAAAADAAAAAARMBEwADwAfACsAAAEhMhYVERQGIyEiJjURNDYFISIGFREUFjMhMjY1ETQmBSEyFg8BBiIvASY2AV4BkKO7uaX+cKW5uQJn/gwpOzspAfQpOzv+FQGQFQsMvgwkDL4MCwRMvKL+cKW5uaUBkKO7yDsp/gwpOzspAfQpO8gYEP0REf0QGAAAAAMAAAAABEwETAAPAB8AKwAAASEyFhURFAYjISImNRE0NgUhIgYVERQWMyEyNjURNCYFFxYGIyEiJj8BNjIBXgGQpbm5pf5wo7u5Amf+DCk7OykB9Ck7O/77vgwLFf5wFQsMvgwkBEy5pf5wo7u8ogGQpbnIOyn+DCk7OykB9Ck7z/0QGBgQ/REAAAAAAgAAAAAFFARMAB8ANQAAASEyFhURFAYjISImPQE0NjMhMjY1ETQmIyEiJj0BNDYHARYUBwEGJj0BIyImPQE0NjsBNTQ2AiYBkKW5uaX+cBUdHRUBwik7Oyn+PhUdHb8BRBAQ/rwQFvoVHR0V+hYETLml/nCluR0VZBUdOykB9Ck7HRVkFR3p/uQOJg7+5A4KFZYdFcgVHZYVCgAAAQDZAAID1wSeACMAAAEXFgcGAgclMhYHIggBBwYrAScmNz4BPwEhIicmNzYANjc2MwMZCQgDA5gCASwYEQ4B/vf+8wQMDgkJCQUCUCcn/tIXCAoQSwENuwUJEASeCQoRC/5TBwEjEv7K/sUFDwgLFQnlbm4TFRRWAS/TBhAAAAACAAAAAAT+BEwAHwA1AAABITIWHQEUBiMhIgYVERQWMyEyFh0BFAYjISImNRE0NgUBFhQHAQYmPQEjIiY9ATQ2OwE1NDYBXgGQFR0dFf4+KTs7KQHCFR0dFf5wpbm5AvEBRBAQ/rwQFvoVHR0V+hYETB0VZBUdOyn+DCk7HRVkFR25pQGQpbnp/uQOJg7+5A4KFZYdFcgVHZYVCgACAAAAAASwBLAAFQAxAAABITIWFREUBi8BAQYiLwEmNDcBJyY2ASMiBhURFBYzITI2PQE3ERQGIyEiJjURNDYzIQLuAZAVHRUObf7IDykPjQ8PAThtDgj+75wpOzspAfQpO8i7o/5wpbm5pQEsBLAdFf5wFQgObf7IDw+NDykPAThtDhX+1Dsp/gwpOzsplMj+1qW5uaUBkKW5AAADAA4ADgSiBKIADwAbACMAAAAyHgIUDgIiLgI0PgEEIg4BFB4BMj4BNCYEMhYUBiImNAHh7tmdXV2d2e7ZnV1dnQHD5sJxccLmwnFx/nugcnKgcgSiXZ3Z7tmdXV2d2e7ZnUdxwubCcXHC5sJzcqBycqAAAAMAAAAABEwEsAAVAB8AIwAAATMyFhURMzIWBwEGIicBJjY7ARE0NgEhMhYdASE1NDYFFTM1AcLIFR31FAoO/oEOJw3+hQ0JFfod/oUD6BUd+7QdA2dkBLAdFf6iFg/+Vg8PAaoPFgFeFR38fB0V+voVHWQyMgAAAAMAAAAABEwErAAVAB8AIwAACQEWBisBFRQGKwEiJj0BIyImNwE+AQEhMhYdASE1NDYFFTM1AkcBeg4KFfQiFsgUGPoUCw4Bfw4n/fkD6BUd+7QdA2dkBJ7+TQ8g+hQeHRX6IQ8BrxAC/H8dFfr6FR1kMjIAAwAAAAAETARLABQAHgAiAAAJATYyHwEWFAcBBiInASY0PwE2MhcDITIWHQEhNTQ2BRUzNQGMAXEHFQeLBwf98wcVB/7cBweLCBUH1APoFR37tB0DZ2QC0wFxBweLCBUH/fMICAEjCBQIiwcH/dIdFfr6FR1kMjIABAAAAAAETASbAAkAGQAjACcAABM3NjIfAQcnJjQFNzYWFQMOASMFIiY/ASc3ASEyFh0BITU0NgUVMzWHjg4qDk3UTQ4CFtIOFQIBHRX9qxUIDtCa1P49A+gVHfu0HQNnZAP/jg4OTdRMDyqa0g4IFf2pFB4BFQ7Qm9T9Oh0V+voVHWQyMgAAAAQAAAAABEwEsAAPABkAIwAnAAABBR4BFRMUBi8BByc3JyY2EwcGIi8BJjQ/AQEhMhYdASE1NDYFFTM1AV4CVxQeARUO0JvUm9IOCMNMDyoOjg4OTf76A+gVHfu0HQNnZASwAgEdFf2rFQgO0JrUmtIOFf1QTQ4Ojg4qDk3+WB0V+voVHWQyMgACAAT/7ASwBK8ABQAIAAAlCQERIQkBFQEEsP4d/sb+cQSs/TMCq2cBFP5xAacDHPz55gO5AAAAAAIAAABkBEwEsAAVABkAAAERFAYrAREhESMiJjURNDY7AREhETMHIzUzBEwdFZb9RJYVHR0V+gH0ZMhkZAPo/K4VHQGQ/nAdFQPoFB7+1AEsyMgAAAMAAABFBN0EsAAWABoALwAAAQcBJyYiDwEhESMiJjURNDY7AREhETMHIzUzARcWFAcBBiIvASY0PwE2Mh8BATYyBEwC/tVfCRkJlf7IlhUdHRX6AfRkyGRkAbBqBwf+XAgUCMoICGoHFQdPASkHFQPolf7VXwkJk/5wHRUD6BQe/tQBLMjI/c5qBxUH/lsHB8sHFQdqCAhPASkHAAMAAAANBQcEsAAWABoAPgAAAREHJy4BBwEhESMiJjURNDY7AREhETMHIzUzARcWFA8BFxYUDwEGIi8BBwYiLwEmND8BJyY0PwE2Mh8BNzYyBExnhg8lEP72/reWFR0dFfoB9GTIZGQB9kYPD4ODDw9GDykPg4MPKQ9GDw+Dgw8PRg8pD4ODDykD6P7zZ4YPAw7+9v5wHRUD6BQe/tQBLMjI/YxGDykPg4MPKQ9GDw+Dgw8PRg8pD4ODDykPRg8Pg4MPAAADAAAAFQSXBLAAFQAZAC8AAAERISIGHQEhESMiJjURNDY7AREhETMHIzUzEzMyFh0BMzIWDwEGIi8BJjY7ATU0NgRM/qIVHf4MlhUdHRX6AfRkyGRklmQVHZYVCA7mDioO5g4IFZYdA+j+1B0Vlv5wHRUD6BQe/tQBLMjI/agdFfoVDuYODuYOFfoVHQAAAAADAAAAAASXBLAAFQAZAC8AAAERJyYiBwEhESMiJjURNDY7AREhETMHIzUzExcWBisBFRQGKwEiJj0BIyImPwE2MgRMpQ4qDv75/m6WFR0dFfoB9GTIZGTr5g4IFZYdFWQVHZYVCA7mDioD6P5wpQ8P/vf+cB0VA+gUHv7UASzIyP2F5Q8V+hQeHhT6FQ/lDwADAAAAyASwBEwACQATABcAABMhMhYdASE1NDYBERQGIyEiJjURExUhNTIETBUd+1AdBJMdFfu0FR1kAZAETB0VlpYVHf7U/doVHR0VAib+1MjIAAAGAAMAfQStBJcADwAZAB0ALQAxADsAAAEXFhQPAQYmPQEhNSE1NDYBIyImPQE0NjsBFyM1MwE3NhYdASEVIRUUBi8BJjQFIzU7AjIWHQEUBisBA6f4Dg74DhX+cAGQFf0vMhUdHRUyyGRk/oL3DhUBkP5wFQ73DwOBZGRkMxQdHRQzBI3mDioO5g4IFZbIlhUI/oUdFWQVHcjI/cvmDggVlsiWFQgO5g4qecgdFWQVHQAAAAACAGQAAASwBLAAFgBRAAABJTYWFREUBisBIiY1ES4ENRE0NiUyFh8BERQOAg8BERQGKwEiJjURLgQ1ETQ+AzMyFh8BETMRPAE+AjMyFh8BETMRND4DA14BFBklHRXIFR0EDiIaFiX+4RYZAgEVHR0LCh0VyBUdBA4iGhYBBwoTDRQZAgNkBQkVDxcZAQFkAQUJFQQxdBIUH/uuFR0dFQGNAQgbHzUeAWcfRJEZDA3+Phw/MSkLC/5BFR0dFQG/BA8uLkAcAcICBxENCxkMDf6iAV4CBxENCxkMDf6iAV4CBxENCwABAGQAAASwBEwAMwAAARUiDgMVERQWHwEVITUyNjURIREUFjMVITUyPgM1ETQmLwE1IRUiBhURIRE0JiM1BLAEDiIaFjIZGf5wSxn+DBlL/nAEDiIaFjIZGQGQSxkB9BlLBEw4AQUKFA78iBYZAQI4OA0lAYr+diUNODgBBQoUDgN4FhkBAjg4DSX+dgGKJQ04AAAABgAAAAAETARMAAwAHAAgACQAKAA0AAABITIWHQEjBTUnITchBSEyFhURFAYjISImNRE0NhcVITUBBTUlBRUhNQUVFAYjIQchJyE3MwKjAXcVHWn+2cj+cGQBd/4lASwpOzsp/tQpOzspASwCvP5wAZD8GAEsArwdFf6JZP6JZAGQyGkD6B0VlmJiyGTIOyn+DCk7OykB9Ck7ZMjI/veFo4XGyMhm+BUdZGTIAAEAEAAQBJ8EnwAmAAATNzYWHwEWBg8BHgEXNz4BHwEeAQ8BBiIuBicuBTcRohEuDosOBhF3ZvyNdxEzE8ATBxGjAw0uMUxPZWZ4O0p3RjITCwED76IRBhPCFDERdo78ZXYRBA6IDi8RogEECBUgNUNjO0qZfHNVQBAAAAACAAAAAASwBEwAIwBBAAAAMh4EHwEVFAYvAS4BPQEmIAcVFAYPAQYmPQE+BRIyHgIfARUBHgEdARQGIyEiJj0BNDY3ATU0PgIB/LimdWQ/LAkJHRTKFB2N/sKNHRTKFB0DDTE7ZnTKcFImFgEBAW0OFR0V+7QVHRUOAW0CFiYETBUhKCgiCgrIFRgDIgMiFZIYGJIVIgMiAxgVyAQNJyQrIP7kExwcCgoy/tEPMhTUFR0dFdQUMg8BLzIEDSEZAAADAAAAAASwBLAADQAdACcAAAEHIScRMxUzNTMVMzUzASEyFhQGKwEXITcjIiY0NgMhMhYdASE1NDYETMj9qMjIyMjIyPyuArwVHR0VDIn8SokMFR0dswRMFR37UB0CvMjIAfTIyMjI/OAdKh1kZB0qHf7UHRUyMhUdAAAAAwBkAAAEsARMAAkAEwAdAAABIyIGFREhETQmASMiBhURIRE0JgEhETQ2OwEyFhUCvGQpOwEsOwFnZCk7ASw7/Rv+1DspZCk7BEw7KfwYA+gpO/7UOyn9RAK8KTv84AGQKTs7KQAAAAAF/5wAAASwBEwADwATAB8AJQApAAATITIWFREUBiMhIiY1ETQ2FxEhEQUjFTMRITUzNSMRIQURByMRMwcRMxHIArx8sLB8/UR8sLAYA4T+DMjI/tTIyAEsAZBkyMhkZARMsHz+DHywsHwB9HywyP1EArzIZP7UZGQBLGT+1GQB9GT+1AEsAAAABf+cAAAEsARMAA8AEwAfACUAKQAAEyEyFhURFAYjISImNRE0NhcRIREBIzUjFSMRMxUzNTMFEQcjETMHETMRyAK8fLCwfP1EfLCwGAOE/gxkZGRkZGQBkGTIyGRkBEywfP4MfLCwfAH0fLDI/UQCvP2oyMgB9MjIZP7UZAH0ZP7UASwABP+cAAAEsARMAA8AEwAbACMAABMhMhYVERQGIyEiJjURNDYXESERBSMRMxUhESEFIxEzFSERIcgCvHywsHz9RHywsBgDhP4MyMj+1AEsAZDIyP7UASwETLB8/gx8sLB8AfR8sMj9RAK8yP7UZAH0ZP7UZAH0AAAABP+cAAAEsARMAA8AEwAWABkAABMhMhYVERQGIyEiJjURNDYXESERAS0BDQERyAK8fLCwfP1EfLCwGAOE/gz+1AEsAZD+1ARMsHz+DHywsHwB9HywyP1EArz+DJaWlpYBLAAAAAX/nAAABLAETAAPABMAFwAgACkAABMhMhYVERQGIyEiJjURNDYXESERAyERIQcjIgYVFBY7AQERMzI2NTQmI8gCvHywsHz9RHywsBgDhGT9RAK8ZIImOTYpgv4Mgik2OSYETLB8/gx8sLB8AfR8sMj9RAK8/agB9GRWQUFUASz+1FRBQVYAAAAF/5wAAASwBEwADwATAB8AJQApAAATITIWFREUBiMhIiY1ETQ2FxEhEQUjFTMRITUzNSMRIQEjESM1MwMjNTPIArx8sLB8/UR8sLAYA4T+DMjI/tTIyAEsAZBkZMjIZGQETLB8/gx8sLB8AfR8sMj9RAK8yGT+1GRkASz+DAGQZP4MZAAG/5wAAASwBEwADwATABkAHwAjACcAABMhMhYVERQGIyEiJjURNDYXESERBTMRIREzASMRIzUzBRUzNQEjNTPIArx8sLB8/UR8sLAYA4T9RMj+1GQCWGRkyP2oZAEsZGQETLB8/gx8sLB8AfR8sMj9RAK8yP5wAfT+DAGQZMjIyP7UZAAF/5wAAASwBEwADwATABwAIgAmAAATITIWFREUBiMhIiY1ETQ2FxEhEQEHIzU3NSM1IQEjESM1MwMjNTPIArx8sLB8/UR8sLAYA4T+DMdkx8gBLAGQZGTIx2RkBEywfP4MfLCwfAH0fLDI/UQCvP5wyDLIlmT+DAGQZP4MZAAAAAMACQAJBKcEpwAPABsAJQAAADIeAhQOAiIuAjQ+AQQiDgEUHgEyPgE0JgchFSEVISc1NyEB4PDbnl5entvw255eXp4BxeTCcXHC5MJxcWz+1AEs/tRkZAEsBKdentvw255eXp7b8NueTHHC5MJxccLkwtDIZGTIZAAAAAAEAAkACQSnBKcADwAbACcAKwAAADIeAhQOAiIuAjQ+AQQiDgEUHgEyPgE0JgcVBxcVIycjFSMRIQcVMzUB4PDbnl5entvw255eXp4BxeTCcXHC5MJxcWwyZGRklmQBLMjIBKdentvw255eXp7b8NueTHHC5MJxccLkwtBkMmQyZGQBkGRkZAAAAv/y/50EwgRBACAANgAAATIWFzYzMhYUBisBNTQmIyEiBh0BIyImNTQ2NyY1ND4BEzMyFhURMzIWDwEGIi8BJjY7ARE0NgH3brUsLC54qqp4gB0V/tQVHd5QcFZBAmKqepYKD4kVCg3fDSYN3w0KFYkPBEF3YQ6t8a36FR0dFfpzT0VrDhMSZKpi/bMPCv7tFxD0EBD0EBcBEwoPAAAAAAL/8v+cBMMEQQAcADMAAAEyFhc2MzIWFxQGBwEmIgcBIyImNTQ2NyY1ND4BExcWBisBERQGKwEiJjURIyImNzY3NjIB9m62LCsueaoBeFr+hg0lDf6DCU9xVkECYqnm3w0KFYkPCpYKD4kVCg3HGBMZBEF3YQ+teGOkHAFoEBD+k3NPRWsOExNkqWP9kuQQF/7tCg8PCgETFxDMGBMAAAABAGQAAARMBG0AGAAAJTUhATMBMwkBMwEzASEVIyIGHQEhNTQmIwK8AZD+8qr+8qr+1P7Uqv7yqv7yAZAyFR0BkB0VZGQBLAEsAU3+s/7U/tRkHRUyMhUdAAAAAAEAeQAABDcEmwAvAAABMhYXHgEVFAYHFhUUBiMiJxUyFh0BITU0NjM1BiMiJjU0Ny4BNTQ2MzIXNCY1NDYCWF6TGll7OzIJaUo3LRUd/tQdFS03SmkELzlpSgUSAqMEm3FZBoNaPWcfHRpKaR77HRUyMhUd+x5pShIUFVg1SmkCAhAFdKMAAAAGACcAFASJBJwAEQAqAEIASgBiAHsAAAEWEgIHDgEiJicmAhI3PgEyFgUiBw4BBwYWHwEWMzI3Njc2Nz4BLwEmJyYXIgcOAQcGFh8BFjMyNz4BNz4BLwEmJyYWJiIGFBYyNjciBw4BBw4BHwEWFxYzMjc+ATc2Ji8BJhciBwYHBgcOAR8BFhcWMzI3PgE3NiYvASYD8m9PT29T2dzZU29PT29T2dzZ/j0EBHmxIgQNDCQDBBcGG0dGYAsNAwkDCwccBAVQdRgEDA0iBAQWBhJROQwMAwkDCwf5Y4xjY4xjVhYGElE6CwwDCQMLBwgEBVB1GAQNDCIEjRcGG0dGYAsNAwkDCwcIBAR5sSIEDQwkAwPyb/7V/tVvU1dXU28BKwErb1NXVxwBIrF5DBYDCQEWYEZHGwMVDCMNBgSRAhh1UA0WAwkBFTpREgMVCyMMBwT6Y2OMY2MVFTpREQQVCyMMBwQCGHVQDRYDCQEkFmBGRxsDFQwjDQYEASKxeQwWAwkBAAAABQBkAAAD6ASwAAwADwAWABwAIgAAASERIzUhFSERNDYzIQEjNQMzByczNTMDISImNREFFRQGKwECvAEstP6s/oQPCgI/ASzIZKLU1KJktP51Cg8DhA8KwwMg/oTIyALzCg/+1Mj84NTUyP4MDwoBi8jDCg8AAAAABQBkAAAD6ASwAAkADAATABoAIQAAASERCQERNDYzIQEjNRMjFSM1IzcDISImPQEpARUUBisBNQK8ASz+ov3aDwoCPwEsyD6iZKLUqv6dCg8BfAIIDwqbAyD9+AFe/doERwoP/tTI/HzIyNT+ZA8KNzcKD1AAAAAAAwAAAAAEsAP0AAgAGQAfAAABIxUzFyERIzcFMzIeAhUhFSEDETM0PgIBMwMhASEEiqJkZP7UotT9EsgbGiEOASz9qMhkDiEaAnPw8PzgASwB9AMgyGQBLNTUBBErJGT+ogHCJCsRBP5w/nAB9AAAAAMAAAAABEwETAAZADIAOQAAATMyFh0BMzIWHQEUBiMhIiY9ATQ2OwE1NDYFNTIWFREUBiMhIic3ARE0NjMVFBYzITI2AQc1IzUzNQKKZBUdMhUdHRX+1BUdHRUyHQFzKTs7Kf2oARP2/ro7KVg+ASw+WP201MjIBEwdFTIdFWQVHR0VZBUdMhUd+pY7KfzgKTsE9gFGAUQpO5Y+WFj95tSiZKIAAwBkAAAEvARMABkANgA9AAABMzIWHQEzMhYdARQGIyEiJj0BNDY7ATU0NgU1MhYVESMRMxQOAiMhIiY1ETQ2MxUUFjMhMjYBBzUjNTM1AcJkFR0yFR0dFf7UFR0dFTIdAXMpO8jIDiEaG/2oKTs7KVg+ASw+WAGc1MjIBEwdFTIdFWQVHR0VZBUdMhUd+pY7Kf4M/tQkKxEEOykDICk7lj5YWP3m1KJkogAAAAP/ogAABRYE1AALABsAHwAACQEWBiMhIiY3ATYyEyMiBhcTHgE7ATI2NxM2JgMVMzUCkgJ9FyAs+wQsIBcCfRZARNAUGAQ6BCMUNhQjBDoEGODIBK37sCY3NyYEUCf+TB0U/tIUHR0UAS4UHf4MZGQAAAAACQAAAAAETARMAA8AHwAvAD8ATwBfAG8AfwCPAAABMzIWHQEUBisBIiY9ATQ2EzMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYBMzIWHQEUBisBIiY9ATQ2ITMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYBMzIWHQEUBisBIiY9ATQ2ITMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYBqfoKDw8K+goPDwr6Cg8PCvoKDw8BmvoKDw8K+goPD/zq+goPDwr6Cg8PAZr6Cg8PCvoKDw8BmvoKDw8K+goPD/zq+goPDwr6Cg8PAZr6Cg8PCvoKDw8BmvoKDw8K+goPDwRMDwqWCg8PCpYKD/7UDwqWCg8PCpYKDw8KlgoPDwqWCg/+1A8KlgoPDwqWCg8PCpYKDw8KlgoPDwqWCg8PCpYKD/7UDwqWCg8PCpYKDw8KlgoPDwqWCg8PCpYKDw8KlgoPAAAAAwAAAAAEsAUUABkAKQAzAAABMxUjFSEyFg8BBgchJi8BJjYzITUjNTM1MwEhMhYUBisBFyE3IyImNDYDITIWHQEhNTQ2ArxkZAFePjEcQiko/PwoKUIcMT4BXmRkyP4+ArwVHR0VDIn8SooNFR0dswRMFR37UB0EsMhkTzeEUzMzU4Q3T2TIZPx8HSodZGQdKh3+1B0VMjIVHQAABAAAAAAEsAUUAAUAGQArADUAAAAyFhUjNAchFhUUByEyFg8BIScmNjMhJjU0AyEyFhQGKwEVBSElNSMiJjQ2AyEyFh0BITU0NgIwUDnCPAE6EgMBSCkHIq/9WrIiCikBSAOvArwVHR0VlgET/EoBE5YVHR2zBEwVHftQHQUUOykpjSUmCBEhFpGRFiERCCb+lR0qHcjIyMgdKh39qB0VMjIVHQAEAAAAAASwBJ0ABwAUACQALgAAADIWFAYiJjQTMzIWFRQXITY1NDYzASEyFhQGKwEXITcjIiY0NgMhMhYdASE1NDYCDZZqapZqty4iKyf+vCcrI/7NArwVHR0VDYr8SokMFR0dswRMFR37UB0EnWqWamqW/us5Okxra0w6Of5yHSodZGQdKh3+1B0VMjIVHQAEAAAAAASwBRQADwAcACwANgAAATIeARUUBiImNTQ3FzcnNhMzMhYVFBchNjU0NjMBITIWFAYrARchNyMiJjQ2AyEyFh0BITU0NgJYL1szb5xvIpBvoyIfLiIrJ/68Jysj/s0CvBUdHRUNivxKiQwVHR2zBEwVHftQHQUUa4s2Tm9vTj5Rj2+jGv4KOTpMa2tMOjn+ch0qHWRkHSod/tQdFTIyFR0AAAADAAAAAASwBRIAEgAiACwAAAEFFSEUHgMXIS4BNTQ+AjcBITIWFAYrARchNyMiJjQ2AyEyFh0BITU0NgJYASz+1CU/P00T/e48PUJtj0r+ogK8FR0dFQ2K/EqJDBUdHbMETBUd+1AdBLChizlmUT9IGVO9VFShdksE/H4dKh1kZB0qHf7UHRUyMhUdAAIAyAAAA+gFFAAPACkAAAAyFh0BHgEdASE1NDY3NTQDITIWFyMVMxUjFTMVIxUzFAYjISImNRE0NgIvUjsuNv5wNi5kAZA2XBqsyMjIyMh1U/5wU3V1BRQ7KU4aXDYyMjZcGk4p/kc2LmRkZGRkU3V1UwGQU3UAAAMAZP//BEwETAAPAC8AMwAAEyEyFhURFAYjISImNRE0NgMhMhYdARQGIyEXFhQGIi8BIQcGIiY0PwEhIiY9ATQ2BQchJ5YDhBUdHRX8fBUdHQQDtgoPDwr+5eANGiUNWP30Vw0mGg3g/t8KDw8BqmQBRGQETB0V/gwVHR0VAfQVHf1EDwoyCg/gDSUbDVhYDRslDeAPCjIKD2RkZAAAAAAEAAAAAASwBEwAGQAjAC0ANwAAEyEyFh0BIzQmKwEiBhUjNCYrASIGFSM1NDYDITIWFREhETQ2ExUUBisBIiY9ASEVFAYrASImPQHIAyBTdWQ7KfopO2Q7KfopO2R1EQPoKTv7UDvxHRVkFR0D6B0VZBUdBEx1U8gpOzspKTs7KchTdf4MOyn+1AEsKTv+DDIVHR0VMjIVHR0VMgADAAEAAASpBKwADQARABsAAAkBFhQPASEBJjQ3ATYyCQMDITIWHQEhNTQ2AeACqh8fg/4f/fsgIAEnH1n+rAFWAS/+q6IDIBUd/HwdBI39VR9ZH4MCBh9ZHwEoH/5u/qoBMAFV/BsdFTIyFR0AAAAAAgCPAAAEIQSwABcALwAAAQMuASMhIgYHAwYWMyEVFBYyNj0BMzI2AyE1NDY7ATU0NjsBETMRMzIWHQEzMhYVBCG9CCcV/nAVJwi9CBMVAnEdKh19FROo/a0dFTIdFTDILxUdMhUdAocB+hMcHBP+BhMclhUdHRWWHP2MMhUdMhUdASz+1B0VMh0VAAAEAAAAAASwBLAADQAQAB8AIgAAASERFAYjIREBNTQ2MyEBIzUBIREUBiMhIiY1ETQ2MyEBIzUDhAEsDwr+if7UDwoBdwEsyP2oASwPCv12Cg8PCgF3ASzIAyD9wQoPAk8BLFQKD/7UyP4M/cEKDw8KA7YKD/7UyAAC/5wAZAUUBEcARgBWAAABMzIeAhcWFxY2NzYnJjc+ARYXFgcOASsBDgEPAQ4BKwEiJj8BBisBIicHDgErASImPwEmLwEuAT0BNDY7ATY3JyY2OwE2BSMiBh0BFBY7ATI2PQE0JgHkw0uOakkMEhEfQwoKGRMKBQ8XDCkCA1Y9Pgc4HCcDIhVkFRgDDDEqwxgpCwMiFWQVGAMaVCyfExwdFXwLLW8QBxXLdAFF+goPDwr6Cg8PBEdBa4pJDgYKISAiJRsQCAYIDCw9P1c3fCbqFB0dFEYOCEAUHR0UnUplNQcmFTIVHVdPXw4TZV8PCjIKDw8KMgoPAAb/nP/mBRQEfgAJACQANAA8AFIAYgAAASU2Fh8BFgYPASUzMhYfASEyFh0BFAYHBQYmJyYjISImPQE0NhcjIgYdARQ7ATI2NTQmJyYEIgYUFjI2NAE3PgEeARceAT8BFxYGDwEGJi8BJjYlBwYfAR4BPwE2Jy4BJy4BAoEBpxMuDiAOAxCL/CtqQ0geZgM3FR0cE/0fFyIJKjr+1D5YWLlQExIqhhALIAsSAYBALS1ALf4PmBIgHhMQHC0aPzANITNQL3wpgigJASlmHyElDR0RPRMFAhQHCxADhPcICxAmDyoNeMgiNtQdFTIVJgeEBBQPQ1g+yD5YrBwVODMQEAtEERzJLUAtLUD+24ITChESEyMgAwWzPUkrRSgJL5cvfRxYGyYrDwkLNRAhFEgJDAQAAAAAAwBkAAAEOQSwAFEAYABvAAABMzIWHQEeARcWDgIPATIeBRUUDgUjFRQGKwEiJj0BIxUUBisBIiY9ASMiJj0BNDY7AREjIiY9ATQ2OwE1NDY7ATIWHQEzNTQ2AxUhMj4CNTc0LgMjARUhMj4CNTc0LgMjAnGWCg9PaAEBIC4uEBEGEjQwOiodFyI2LUAjGg8KlgoPZA8KlgoPrwoPDwpLSwoPDwqvDwqWCg9kD9cBBxwpEwsBAQsTKRz++QFrHCkTCwEBCxMpHASwDwptIW1KLk0tHwYGAw8UKDJOLTtdPCoVCwJLCg8PCktLCg8PCksPCpYKDwJYDwqWCg9LCg8PCktLCg/+1MgVHR0LCgQOIhoW/nDIFR0dCwoEDiIaFgAAAwAEAAIEsASuABcAKQAsAAATITIWFREUBg8BDgEjISImJy4CNRE0NgQiDgQPARchNy4FAyMT1AMMVnokEhIdgVL9xFKCHAgYKHoCIIx9VkcrHQYGnAIwnAIIIClJVSGdwwSuelb+YDO3QkJXd3ZYHFrFMwGgVnqZFyYtLSUMDPPzBQ8sKDEj/sIBBQACAMgAAAOEBRQADwAZAAABMzIWFREUBiMhIiY1ETQ2ARUUBisBIiY9AQHblmesVCn+PilUrAFINhWWFTYFFKxn/gwpVFQpAfRnrPwY4RU2NhXhAAACAMgAAAOEBRQADwAZAAABMxQWMxEUBiMhIiY1ETQ2ARUUBisBIiY9AQHbYLOWVCn+PilUrAFINhWWFTYFFJaz/kIpVFQpAfRnrPwY4RU2NhXhAAACAAAAFAUOBBoAFAAaAAAJASUHFRcVJwc1NzU0Jj4CPwEnCQEFJTUFJQUO/YL+hk5klpZkAQEBBQQvkwKCAVz+ov6iAV4BXgL//uWqPOCWx5SVyJb6BA0GCgYDKEEBG/1ipqaTpaUAAAMAZAH0BLADIAAHAA8AFwAAEjIWFAYiJjQkMhYUBiImNCQyFhQGIiY0vHxYWHxYAeh8WFh8WAHofFhYfFgDIFh8WFh8WFh8WFh8WFh8WFh8AAAAAAMBkAAAArwETAAHAA8AFwAAADIWFAYiJjQSMhYUBiImNBIyFhQGIiY0Aeh8WFh8WFh8WFh8WFh8WFh8WARMWHxYWHz+yFh8WFh8/shYfFhYfAAAAAMAZABkBEwETAAPAB8ALwAAEyEyFh0BFAYjISImPQE0NhMhMhYdARQGIyEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2fQO2Cg8PCvxKCg8PCgO2Cg8PCvxKCg8PCgO2Cg8PCvxKCg8PBEwPCpYKDw8KlgoP/nAPCpYKDw8KlgoP/nAPCpYKDw8KlgoPAAAABAAAAAAEsASwAA8AHwAvADMAAAEhMhYVERQGIyEiJjURNDYFISIGFREUFjMhMjY1ETQmBSEyFhURFAYjISImNRE0NhcVITUBXgH0ory7o/4Mpbm5Asv9qCk7OykCWCk7O/2xAfQVHR0V/gwVHR1HAZAEsLuj/gylubmlAfSlucg7Kf2oKTs7KQJYKTtkHRX+1BUdHRUBLBUdZMjIAAAAAAEAZABkBLAETAA7AAATITIWFAYrARUzMhYUBisBFTMyFhQGKwEVMzIWFAYjISImNDY7ATUjIiY0NjsBNSMiJjQ2OwE1IyImNDaWA+gVHR0VMjIVHR0VMjIVHR0VMjIVHR0V/BgVHR0VMjIVHR0VMjIVHR0VMjIVHR0ETB0qHcgdKh3IHSodyB0qHR0qHcgdKh3IHSodyB0qHQAAAAYBLAAFA+gEowAHAA0AEwAZAB8AKgAAAR4BBgcuATYBMhYVIiYlFAYjNDYBMhYVIiYlFAYjNDYDFRQGIiY9ARYzMgKKVz8/V1c/P/75fLB8sAK8sHyw/cB8sHywArywfLCwHSodKAMRBKNDsrJCQrKy/sCwfLB8fLB8sP7UsHywfHywfLD+05AVHR0VjgQAAAH/tQDIBJQDgQBCAAABNzYXAR4BBw4BKwEyFRQOBCsBIhE0NyYiBxYVECsBIi4DNTQzIyImJyY2NwE2HwEeAQ4BLwEHIScHBi4BNgLpRRkUASoLCAYFGg8IAQQNGyc/KZK4ChRUFQu4jjBJJxkHAgcPGQYGCAsBKhQaTBQVCiMUM7YDe7YsFCMKFgNuEwYS/tkLHw8OEw0dNkY4MhwBIBgXBAQYF/7gKjxTQyMNEw4PHwoBKBIHEwUjKBYGDMHBDAUWKCMAAAAAAgAAAAAEsASwACUAQwAAASM0LgUrAREUFh8BFSE1Mj4DNREjIg4FFSMRIQEjNC4DKwERFBYXMxUjNTI1ESMiDgMVIzUhBLAyCAsZEyYYGcgyGRn+cAQOIhoWyBkYJhMZCwgyA+j9RBkIChgQEWQZDQzIMmQREBgKCBkB9AOEFSAVDggDAfyuFhkBAmRkAQUJFQ4DUgEDCA4VIBUBLP0SDxMKBQH+VwsNATIyGQGpAQUKEw+WAAAAAAMAAAAABEwErgAdACAAMAAAATUiJy4BLwEBIwEGBw4BDwEVITUiJj8BIRcWBiMVARsBARUUBiMhIiY9ATQ2MyEyFgPoGR4OFgUE/t9F/tQSFQkfCwsBETE7EkUBJT0NISf+7IZ5AbEdFfwYFR0dFQPoFR0BLDIgDiIKCwLr/Q4jFQkTBQUyMisusKYiQTIBhwFW/qr942QVHR0VZBUdHQADAAAAAASwBLAADwBHAEoAABMhMhYVERQGIyEiJjURNDYFIyIHAQYHBgcGHQEUFjMhMjY9ATQmIyInJj8BIRcWBwYjIgYdARQWMyEyNj0BNCYnIicmJyMBJhMjEzIETBUdHRX7tBUdHQJGRg0F/tUREhImDAsJAREIDAwINxAKCj8BCjkLEQwYCAwMCAE5CAwLCBEZGQ8B/uAFDsVnBLAdFfu0FR0dFQRMFR1SDP0PIBMSEAUNMggMDAgyCAwXDhmjmR8YEQwIMggMDAgyBwwBGRskAuwM/gUBCAAABAAAAAAEsASwAAMAEwAjACcAAAEhNSEFITIWFREUBiMhIiY1ETQ2KQEyFhURFAYjISImNRE0NhcRIREEsPtQBLD7ggGQFR0dFf5wFR0dAm0BkBUdHRX+cBUdHUcBLARMZMgdFfx8FR0dFQOEFR0dFf5wFR0dFQGQFR1k/tQBLAAEAAAAAASwBLAADwAfACMAJwAAEyEyFhURFAYjISImNRE0NgEhMhYVERQGIyEiJjURNDYXESEREyE1ITIBkBUdHRX+cBUdHQJtAZAVHR0V/nAVHR1HASzI+1AEsASwHRX8fBUdHRUDhBUd/gwdFf5wFR0dFQGQFR1k/tQBLP2oZAAAAAACAAAAZASwA+gAJwArAAATITIWFREzNTQ2MyEyFh0BMxUjFRQGIyEiJj0BIxEUBiMhIiY1ETQ2AREhETIBkBUdZB0VAZAVHWRkHRX+cBUdZB0V/nAVHR0CnwEsA+gdFf6ilhUdHRWWZJYVHR0Vlv6iFR0dFQMgFR3+1P7UASwAAAQAAAAABLAEsAADABMAFwAnAAAzIxEzFyEyFhURFAYjISImNRE0NhcRIREBITIWFREUBiMhIiY1ETQ2ZGRklgGQFR0dFf5wFR0dRwEs/qIDhBUdHRX8fBUdHQSwZB0V/nAVHR0VAZAVHWT+1AEs/gwdFf5wFR0dFQGQFR0AAAAAAgBkAAAETASwACcAKwAAATMyFhURFAYrARUhMhYVERQGIyEiJjURNDYzITUjIiY1ETQ2OwE1MwcRIRECWJYVHR0VlgHCFR0dFfx8FR0dFQFelhUdHRWWZMgBLARMHRX+cBUdZB0V/nAVHR0VAZAVHWQdFQGQFR1kyP7UASwAAAAEAAAAAASwBLAAAwATABcAJwAAISMRMwUhMhYVERQGIyEiJjURNDYXESERASEyFhURFAYjISImNRE0NgSwZGT9dgGQFR0dFf5wFR0dRwEs/K4DhBUdHRX8fBUdHQSwZB0V/nAVHR0VAZAVHWT+1AEs/gwdFf5wFR0dFQGQFR0AAAEBLAAwA28EgAAPAAAJAQYjIiY1ETQ2MzIXARYUA2H+EhcSDhAQDhIXAe4OAjX+EhcbGQPoGRsX/hIOKgAAAAABAUEAMgOEBH4ACwAACQE2FhURFAYnASY0AU8B7h0qKh3+Eg4CewHuHREp/BgpER0B7g4qAAAAAAEAMgFBBH4DhAALAAATITIWBwEGIicBJjZkA+gpER3+Eg4qDv4SHREDhCod/hIODgHuHSoAAAAAAQAyASwEfgNvAAsAAAkBFgYjISImNwE2MgJ7Ae4dESn8GCkRHQHuDioDYf4SHSoqHQHuDgAAAAACAAgAAASwBCgABgAKAAABFQE1LQE1ASE1IQK8/UwBnf5jBKj84AMgAuW2/r3dwcHd+9jIAAAAAAIAAABkBLAEsAALADEAAAEjFTMVIREzNSM1IQEzND4FOwERFAYPARUhNSIuAzURMzIeBRUzESEEsMjI/tTIyAEs+1AyCAsZEyYYGWQyGRkBkAQOIhoWZBkYJhMZCwgy/OADhGRkASxkZP4MFSAVDggDAf3aFhkBAmRkAQUJFQ4CJgEDCA4VIBUBLAAAAgAAAAAETAPoACUAMQAAASM0LgUrAREUFh8BFSE1Mj4DNREjIg4FFSMRIQEjFTMVIREzNSM1IQMgMggLGRMmGBlkMhkZ/nAEDiIaFmQZGCYTGQsIMgMgASzIyP7UyMgBLAK8FSAVDggDAf3aFhkCAWRkAQUJFQ4CJgEDCA4VIBUBLPzgZGQBLGRkAAABAMgAZgNyBEoAEgAAATMyFgcJARYGKwEiJwEmNDcBNgK9oBAKDP4wAdAMChCgDQr+KQcHAdcKBEoWDP4w/jAMFgkB1wgUCAHXCQAAAQE+AGYD6ARKABIAAAEzMhcBFhQHAQYrASImNwkBJjYBU6ANCgHXBwf+KQoNoBAKDAHQ/jAMCgRKCf4pCBQI/ikJFgwB0AHQDBYAAAEAZgDIBEoDcgASAAAAFh0BFAcBBiInASY9ATQ2FwkBBDQWCf4pCBQI/ikJFgwB0AHQA3cKEKANCv4pBwcB1woNoBAKDP4wAdAAAAABAGYBPgRKA+gAEgAACQEWHQEUBicJAQYmPQE0NwE2MgJqAdcJFgz+MP4wDBYJAdcIFAPh/ikKDaAQCgwB0P4wDAoQoA0KAdcHAAAAAgDZ//kEPQSwAAUAOgAAARQGIzQ2BTMyFh8BNjc+Ah4EBgcOBgcGIiYjIgYiJy4DLwEuAT4EHgEXJyY2A+iwfLD+VmQVJgdPBQsiKFAzRyorDwURAQQSFyozTSwNOkkLDkc3EDlfNyYHBw8GDyUqPjdGMR+TDA0EsHywfLDIHBPCAQIGBwcFDx81S21DBxlLR1xKQhEFBQcHGWt0bCQjP2hJNyATBwMGBcASGAAAAAACAMgAFQOEBLAAFgAaAAATITIWFREUBisBEQcGJjURIyImNRE0NhcVITX6AlgVHR0Vlv8TGpYVHR2rASwEsB0V/nAVHf4MsgkQFQKKHRUBkBUdZGRkAAAAAgDIABkETASwAA4AEgAAEyEyFhURBRElIREjETQ2ARU3NfoC7ic9/UQCWP1EZB8BDWQEsFEs/Ft1A7Z9/BgEARc0/V1kFGQAAQAAAAECTW/DBF9fDzz1AB8EsAAAAADQdnOXAAAAANB2c5f/Uf+cBdwFFAAAAAgAAgAAAAAAAAABAAAFFP+FAAAFFP9R/tQF3AABAAAAAAAAAAAAAAAAAAAAowG4ACgAAAAAAZAAAASwAAAEsABkBLAAAASwAAAEsABwAooAAAUUAAACigAABRQAAAGxAAABRQAAANgAAADYAAAAogAAAQQAAABIAAABBAAAAUUAAASwAGQEsAB7BLAAyASwAMgB9AAABLD/8gSwAAAEsAAABLD/8ASwAAAEsAAOBLAACQSwAGQEsP/TBLD/0wSwAAAEsAAABLAAAASwAAAEsAAABLAAJgSwAG4EsAAXBLAAFwSwABcEsABkBLAAGgSwAGQEsAAMBLAAZASwABcEsP+cBLAAZASwABcEsAAXBLAAAASwABcEsAAXBLAAFwSwAGQEsAAABLAAZASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAZASwAMgEsAAABLAAAASwADUEsABkBLAAyASw/7UEsAAhBLAAAASwAAAEsAAABLAAAASwAAAEsP+cBLAAAASwAAAEsAAABLAA2wSwABcEsAB1BLAAAASwAAAEsAAABLAACgSwAMgEsAAABLAAnQSwAMgEsADIBLAAyASwAAAEsP/+BLABLASwAGQEsACIBLABOwSwABcEsAAXBLAAFwSwABcEsAAXBLAAFwSwAAAEsAAXBLAAFwSwABcEsAAXBLAAAASwALcEsAC3BLAAAASwAAAEsABJBLAAFwSwAAAEsAAABLAAXQSw/9wEsP/cBLD/nwSwAGQEsAAABLAAAASwAAAEsABkBLD//wSwAAAEsP9RBLAABgSwAAAEsAAABLABRQSwAAEEsAAABLD/nASwAEoEsAAUBLAAAASwAAAEsAAABLD/nASwAGEEsP/9BLAAFgSwABYEsAAWBLAAFgSwABgEsAAABMQAAASwAGQAAAAAAAD/2ABkADkAyAAAAScAZAAZABkAGQAZABkAGQAZAAAAAAAAAAAAAADZAAAAAAAOAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAMAZABkAAAAEAAAAAAAZP+c/5z/nP+c/5z/nP+c/5wACQAJ//L/8gBkAHkAJwBkAGQAAAAAAGT/ogAAAAAAAAAAAAAAAADIAGQAAAABAI8AAP+c/5wAZAAEAMgAyAAAAGQBkABkAAAAZAEs/7UAAAAAAAAAAAAAAAAAAABkAAABLAFBADIAMgAIAAAAAADIAT4AZgBmANkAyADIAAAAKgAqACoAKgCyAOgA6AFOAU4BTgFOAU4BTgFOAU4BTgFOAU4BTgFOAU4BpAIGAiICfgKGAqwC5ANGA24DjAPEBAgEMgRiBKIE3AVcBboGcgb0ByAHYgfKCB4IYgi+CTYJhAm2Cd4KKApMCpQK4gswC4oLygwIDFgNKg1eDbAODg5oDrQPKA+mD+YQEhBUEJAQqhEqEXYRthIKEjgSfBLAExoTdBPQFCoU1BU8FagVzBYEFjYWYBawFv4XUhemGAIYLhhqGJYYsBjgGP4ZKBloGZQZxBnaGe4aNhpoGrga9hteG7QcMhyUHOIdHB1EHWwdlB28HeYeLh52HsAfYh/SIEYgviEyIXYhuCJAIpYiuCMOIyIjOCN6I8Ij4CQCJDAkXiSWJOIlNCVgJbwmFCZ+JuYnUCe8J/goNChwKKwpoCnMKiYqSiqEKworeiwILGgsuizsLRwtiC30LiguZi6iLtgvDi9GL34vsi/4MD4whDDSMRIxYDGuMegyJDJeMpoy3jMiMz4zaDO2NBg0YDSoNNI1LDWeNeg2PjZ8Ntw3GjdON5I31DgQOEI4hjjIOQo5SjmIOcw6HDpsOpo63jugO9w8GDxQPKI8+D0yPew+Oj6MPtQ/KD9uP6o/+kBIQIBAxkECQX5CGEKoQu5DGENCQ3ZDoEPKRBBEYESuRPZFWkW2RgZGdEa0RvZHNkd2R7ZH9kgWSDJITkhqSIZIzEkSSThJXkmESapKAkouSlIAAQAAARcApwARAAAAAAACAAAAAQABAAAAQAAuAAAAAAAAABAAxgABAAAAAAATABIAAAADAAEECQAAAGoAEgADAAEECQABACgAfAADAAEECQACAA4ApAADAAEECQADAEwAsgADAAEECQAEADgA/gADAAEECQAFAHgBNgADAAEECQAGADYBrgADAAEECQAIABYB5AADAAEECQAJABYB+gADAAEECQALACQCEAADAAEECQAMACQCNAADAAEECQATACQCWAADAAEECQDIABYCfAADAAEECQDJADACkgADAAEECdkDABoCwnd3dy5nbHlwaGljb25zLmNvbQBDAG8AcAB5AHIAaQBnAGgAdAAgAKkAIAAyADAAMQA0ACAAYgB5ACAASgBhAG4AIABLAG8AdgBhAHIAaQBrAC4AIABBAGwAbAAgAHIAaQBnAGgAdABzACAAcgBlAHMAZQByAHYAZQBkAC4ARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzAFIAZQBnAHUAbABhAHIAMQAuADAAMAA5ADsAVQBLAFcATgA7AEcATABZAFAASABJAEMATwBOAFMASABhAGwAZgBsAGkAbgBnAHMALQBSAGUAZwB1AGwAYQByAEcATABZAFAASABJAEMATwBOAFMAIABIAGEAbABmAGwAaQBuAGcAcwAgAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAOQA7AFAAUwAgADAAMAAxAC4AMAAwADkAOwBoAG8AdABjAG8AbgB2ACAAMQAuADAALgA3ADAAOwBtAGEAawBlAG8AdABmAC4AbABpAGIAMgAuADUALgA1ADgAMwAyADkARwBMAFkAUABIAEkAQwBPAE4AUwBIAGEAbABmAGwAaQBuAGcAcwAtAFIAZQBnAHUAbABhAHIASgBhAG4AIABLAG8AdgBhAHIAaQBrAEoAYQBuACAASwBvAHYAYQByAGkAawB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQBXAGUAYgBmAG8AbgB0ACAAMQAuADAAVwBlAGQAIABPAGMAdAAgADIAOQAgADAANgA6ADMANgA6ADAANwAgADIAMAAxADQARgBvAG4AdAAgAFMAcQB1AGkAcgByAGUAbAAAAAIAAAAAAAD/tQAyAAAAAAAAAAAAAAAAAAAAAAAAAAABFwAAAQIBAwADAA0ADgEEAJYBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMA7wEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwF0AXUBdgF3AXgBeQF6AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B3wHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB+gH7AfwB/QH+Af8CAAIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CDwIQAhECEgZnbHlwaDEGZ2x5cGgyB3VuaTAwQTAHdW5pMjAwMAd1bmkyMDAxB3VuaTIwMDIHdW5pMjAwMwd1bmkyMDA0B3VuaTIwMDUHdW5pMjAwNgd1bmkyMDA3B3VuaTIwMDgHdW5pMjAwOQd1bmkyMDBBB3VuaTIwMkYHdW5pMjA1RgRFdXJvB3VuaTIwQkQHdW5pMjMxQgd1bmkyNUZDB3VuaTI2MDEHdW5pMjZGQQd1bmkyNzA5B3VuaTI3MEYHdW5pRTAwMQd1bmlFMDAyB3VuaUUwMDMHdW5pRTAwNQd1bmlFMDA2B3VuaUUwMDcHdW5pRTAwOAd1bmlFMDA5B3VuaUUwMTAHdW5pRTAxMQd1bmlFMDEyB3VuaUUwMTMHdW5pRTAxNAd1bmlFMDE1B3VuaUUwMTYHdW5pRTAxNwd1bmlFMDE4B3VuaUUwMTkHdW5pRTAyMAd1bmlFMDIxB3VuaUUwMjIHdW5pRTAyMwd1bmlFMDI0B3VuaUUwMjUHdW5pRTAyNgd1bmlFMDI3B3VuaUUwMjgHdW5pRTAyOQd1bmlFMDMwB3VuaUUwMzEHdW5pRTAzMgd1bmlFMDMzB3VuaUUwMzQHdW5pRTAzNQd1bmlFMDM2B3VuaUUwMzcHdW5pRTAzOAd1bmlFMDM5B3VuaUUwNDAHdW5pRTA0MQd1bmlFMDQyB3VuaUUwNDMHdW5pRTA0NAd1bmlFMDQ1B3VuaUUwNDYHdW5pRTA0Nwd1bmlFMDQ4B3VuaUUwNDkHdW5pRTA1MAd1bmlFMDUxB3VuaUUwNTIHdW5pRTA1Mwd1bmlFMDU0B3VuaUUwNTUHdW5pRTA1Ngd1bmlFMDU3B3VuaUUwNTgHdW5pRTA1OQd1bmlFMDYwB3VuaUUwNjIHdW5pRTA2Mwd1bmlFMDY0B3VuaUUwNjUHdW5pRTA2Ngd1bmlFMDY3B3VuaUUwNjgHdW5pRTA2OQd1bmlFMDcwB3VuaUUwNzEHdW5pRTA3Mgd1bmlFMDczB3VuaUUwNzQHdW5pRTA3NQd1bmlFMDc2B3VuaUUwNzcHdW5pRTA3OAd1bmlFMDc5B3VuaUUwODAHdW5pRTA4MQd1bmlFMDgyB3VuaUUwODMHdW5pRTA4NAd1bmlFMDg1B3VuaUUwODYHdW5pRTA4Nwd1bmlFMDg4B3VuaUUwODkHdW5pRTA5MAd1bmlFMDkxB3VuaUUwOTIHdW5pRTA5Mwd1bmlFMDk0B3VuaUUwOTUHdW5pRTA5Ngd1bmlFMDk3B3VuaUUxMDEHdW5pRTEwMgd1bmlFMTAzB3VuaUUxMDQHdW5pRTEwNQd1bmlFMTA2B3VuaUUxMDcHdW5pRTEwOAd1bmlFMTA5B3VuaUUxMTAHdW5pRTExMQd1bmlFMTEyB3VuaUUxMTMHdW5pRTExNAd1bmlFMTE1B3VuaUUxMTYHdW5pRTExNwd1bmlFMTE4B3VuaUUxMTkHdW5pRTEyMAd1bmlFMTIxB3VuaUUxMjIHdW5pRTEyMwd1bmlFMTI0B3VuaUUxMjUHdW5pRTEyNgd1bmlFMTI3B3VuaUUxMjgHdW5pRTEyOQd1bmlFMTMwB3VuaUUxMzEHdW5pRTEzMgd1bmlFMTMzB3VuaUUxMzQHdW5pRTEzNQd1bmlFMTM2B3VuaUUxMzcHdW5pRTEzOAd1bmlFMTM5B3VuaUUxNDAHdW5pRTE0MQd1bmlFMTQyB3VuaUUxNDMHdW5pRTE0NAd1bmlFMTQ1B3VuaUUxNDYHdW5pRTE0OAd1bmlFMTQ5B3VuaUUxNTAHdW5pRTE1MQd1bmlFMTUyB3VuaUUxNTMHdW5pRTE1NAd1bmlFMTU1B3VuaUUxNTYHdW5pRTE1Nwd1bmlFMTU4B3VuaUUxNTkHdW5pRTE2MAd1bmlFMTYxB3VuaUUxNjIHdW5pRTE2Mwd1bmlFMTY0B3VuaUUxNjUHdW5pRTE2Ngd1bmlFMTY3B3VuaUUxNjgHdW5pRTE2OQd1bmlFMTcwB3VuaUUxNzEHdW5pRTE3Mgd1bmlFMTczB3VuaUUxNzQHdW5pRTE3NQd1bmlFMTc2B3VuaUUxNzcHdW5pRTE3OAd1bmlFMTc5B3VuaUUxODAHdW5pRTE4MQd1bmlFMTgyB3VuaUUxODMHdW5pRTE4NAd1bmlFMTg1B3VuaUUxODYHdW5pRTE4Nwd1bmlFMTg4B3VuaUUxODkHdW5pRTE5MAd1bmlFMTkxB3VuaUUxOTIHdW5pRTE5Mwd1bmlFMTk0B3VuaUUxOTUHdW5pRTE5Nwd1bmlFMTk4B3VuaUUxOTkHdW5pRTIwMAd1bmlFMjAxB3VuaUUyMDIHdW5pRTIwMwd1bmlFMjA0B3VuaUUyMDUHdW5pRTIwNgd1bmlFMjA5B3VuaUUyMTAHdW5pRTIxMQd1bmlFMjEyB3VuaUUyMTMHdW5pRTIxNAd1bmlFMjE1B3VuaUUyMTYHdW5pRTIxOAd1bmlFMjE5B3VuaUUyMjEHdW5pRTIyMwd1bmlFMjI0B3VuaUUyMjUHdW5pRTIyNgd1bmlFMjI3B3VuaUUyMzAHdW5pRTIzMQd1bmlFMjMyB3VuaUUyMzMHdW5pRTIzNAd1bmlFMjM1B3VuaUUyMzYHdW5pRTIzNwd1bmlFMjM4B3VuaUUyMzkHdW5pRTI0MAd1bmlFMjQxB3VuaUUyNDIHdW5pRTI0Mwd1bmlFMjQ0B3VuaUUyNDUHdW5pRTI0Ngd1bmlFMjQ3B3VuaUUyNDgHdW5pRTI0OQd1bmlFMjUwB3VuaUUyNTEHdW5pRTI1Mgd1bmlFMjUzB3VuaUUyNTQHdW5pRTI1NQd1bmlFMjU2B3VuaUUyNTcHdW5pRTI1OAd1bmlFMjU5B3VuaUUyNjAHdW5pRjhGRgZ1MUY1MTEGdTFGNkFBAAAAAAFUUMMXAAA=) format('truetype'),url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiID4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8bWV0YWRhdGE+PC9tZXRhZGF0YT4KPGRlZnM+Cjxmb250IGlkPSJnbHlwaGljb25zX2hhbGZsaW5nc3JlZ3VsYXIiIGhvcml6LWFkdi14PSIxMjAwIiA+Cjxmb250LWZhY2UgdW5pdHMtcGVyLWVtPSIxMjAwIiBhc2NlbnQ9Ijk2MCIgZGVzY2VudD0iLTI0MCIgLz4KPG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjUwMCIgLz4KPGdseXBoIGhvcml6LWFkdi14PSIwIiAvPgo8Z2x5cGggaG9yaXotYWR2LXg9IjQwMCIgLz4KPGdseXBoIHVuaWNvZGU9IiAiIC8+CjxnbHlwaCB1bmljb2RlPSIqIiBkPSJNNjAwIDExMDBxMTUgMCAzNCAtMS41dDMwIC0zLjVsMTEgLTFxMTAgLTIgMTcuNSAtMTAuNXQ3LjUgLTE4LjV2LTIyNGwxNTggMTU4cTcgNyAxOCA4dDE5IC02bDEwNiAtMTA2cTcgLTggNiAtMTl0LTggLTE4bC0xNTggLTE1OGgyMjRxMTAgMCAxOC41IC03LjV0MTAuNSAtMTcuNXE2IC00MSA2IC03NXEwIC0xNSAtMS41IC0zNHQtMy41IC0zMGwtMSAtMTFxLTIgLTEwIC0xMC41IC0xNy41dC0xOC41IC03LjVoLTIyNGwxNTggLTE1OCBxNyAtNyA4IC0xOHQtNiAtMTlsLTEwNiAtMTA2cS04IC03IC0xOSAtNnQtMTggOGwtMTU4IDE1OHYtMjI0cTAgLTEwIC03LjUgLTE4LjV0LTE3LjUgLTEwLjVxLTQxIC02IC03NSAtNnEtMTUgMCAtMzQgMS41dC0zMCAzLjVsLTExIDFxLTEwIDIgLTE3LjUgMTAuNXQtNy41IDE4LjV2MjI0bC0xNTggLTE1OHEtNyAtNyAtMTggLTh0LTE5IDZsLTEwNiAxMDZxLTcgOCAtNiAxOXQ4IDE4bDE1OCAxNThoLTIyNHEtMTAgMCAtMTguNSA3LjUgdC0xMC41IDE3LjVxLTYgNDEgLTYgNzVxMCAxNSAxLjUgMzR0My41IDMwbDEgMTFxMiAxMCAxMC41IDE3LjV0MTguNSA3LjVoMjI0bC0xNTggMTU4cS03IDcgLTggMTh0NiAxOWwxMDYgMTA2cTggNyAxOSA2dDE4IC04bDE1OCAtMTU4djIyNHEwIDEwIDcuNSAxOC41dDE3LjUgMTAuNXE0MSA2IDc1IDZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iKyIgZD0iTTQ1MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMzUwaDM1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zNTB2LTM1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYzNTBoLTM1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNSBoMzUwdjM1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4YTA7IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4YTU7IiBkPSJNODI1IDExMDBoMjUwcTEwIDAgMTIuNSAtNXQtNS41IC0xM2wtMzY0IC0zNjRxLTYgLTYgLTExIC0xOGgyNjhxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMjV2LTEwMGgyNzVxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMjV2LTE3NHEwIC0xMSAtNy41IC0xOC41dC0xOC41IC03LjVoLTE0OHEtMTEgMCAtMTguNSA3LjV0LTcuNSAxOC41djE3NCBoLTI3NXEtMTAgMCAtMTMgNnQzIDE0bDEyMCAxNjBxNiA4IDE4IDE0dDIyIDZoMTI1djEwMGgtMjc1cS0xMCAwIC0xMyA2dDMgMTRsMTIwIDE2MHE2IDggMTggMTR0MjIgNmgxMThxLTUgMTIgLTExIDE4bC0zNjQgMzY0cS04IDggLTUuNSAxM3QxMi41IDVoMjUwcTI1IDAgNDMgLTE4bDE2NCAtMTY0cTggLTggMTggLTh0MTggOGwxNjQgMTY0cTE4IDE4IDQzIDE4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDA7IiBob3Jpei1hZHYteD0iNjUwIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwMTsiIGhvcml6LWFkdi14PSIxMzAwIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwMjsiIGhvcml6LWFkdi14PSI2NTAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMDAzOyIgaG9yaXotYWR2LXg9IjEzMDAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMDA0OyIgaG9yaXotYWR2LXg9IjQzMyIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDU7IiBob3Jpei1hZHYteD0iMzI1IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwNjsiIGhvcml6LWFkdi14PSIyMTYiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMDA3OyIgaG9yaXotYWR2LXg9IjIxNiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDg7IiBob3Jpei1hZHYteD0iMTYyIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwOTsiIGhvcml6LWFkdi14PSIyNjAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMDBhOyIgaG9yaXotYWR2LXg9IjcyIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAyZjsiIGhvcml6LWFkdi14PSIyNjAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMDVmOyIgaG9yaXotYWR2LXg9IjMyNSIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwYWM7IiBkPSJNNzQ0IDExOThxMjQyIDAgMzU0IC0xODlxNjAgLTEwNCA2NiAtMjA5aC0xODFxMCA0NSAtMTcuNSA4Mi41dC00My41IDYxLjV0LTU4IDQwLjV0LTYwLjUgMjR0LTUxLjUgNy41cS0xOSAwIC00MC41IC01LjV0LTQ5LjUgLTIwLjV0LTUzIC0zOHQtNDkgLTYyLjV0LTM5IC04OS41aDM3OWwtMTAwIC0xMDBoLTMwMHEtNiAtNTAgLTYgLTEwMGg0MDZsLTEwMCAtMTAwaC0zMDBxOSAtNzQgMzMgLTEzMnQ1Mi41IC05MXQ2MS41IC01NC41dDU5IC0yOSB0NDcgLTcuNXEyMiAwIDUwLjUgNy41dDYwLjUgMjQuNXQ1OCA0MXQ0My41IDYxdDE3LjUgODBoMTc0cS0zMCAtMTcxIC0xMjggLTI3OHEtMTA3IC0xMTcgLTI3NCAtMTE3cS0yMDYgMCAtMzI0IDE1OHEtMzYgNDggLTY5IDEzM3QtNDUgMjA0aC0yMTdsMTAwIDEwMGgxMTJxMSA0NyA2IDEwMGgtMjE4bDEwMCAxMDBoMTM0cTIwIDg3IDUxIDE1My41dDYyIDEwMy41cTExNyAxNDEgMjk3IDE0MXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMGJkOyIgZD0iTTQyOCAxMjAwaDM1MHE2NyAwIDEyMCAtMTN0ODYgLTMxdDU3IC00OS41dDM1IC01Ni41dDE3IC02NC41dDYuNSAtNjAuNXQwLjUgLTU3di0xNi41di0xNi41cTAgLTM2IC0wLjUgLTU3dC02LjUgLTYxdC0xNyAtNjV0LTM1IC01N3QtNTcgLTUwLjV0LTg2IC0zMS41dC0xMjAgLTEzaC0xNzhsLTIgLTEwMGgyODhxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMzh2LTE3NXEwIC0xMSAtNS41IC0xOCB0LTE1LjUgLTdoLTE0OXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE3NWgtMjY3cS0xMCAwIC0xMyA2dDMgMTRsMTIwIDE2MHE2IDggMTggMTR0MjIgNmgxMTd2MTAwaC0yNjdxLTEwIDAgLTEzIDZ0MyAxNGwxMjAgMTYwcTYgOCAxOCAxNHQyMiA2aDExN3Y0NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNjAwIDEwMDB2LTMwMGgyMDNxNjQgMCA4Ni41IDMzdDIyLjUgMTE5cTAgODQgLTIyLjUgMTE2dC04Ni41IDMyaC0yMDN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjIxMjsiIGQ9Ik0yNTAgNzAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjMxYjsiIGQ9Ik0xMDAwIDEyMDB2LTE1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTEwMHEwIC05MSAtNDkuNSAtMTY1LjV0LTEzMC41IC0xMDkuNXE4MSAtMzUgMTMwLjUgLTEwOS41dDQ5LjUgLTE2NS41di0xNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTE1MGgtODAwdjE1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2MTUwcTAgOTEgNDkuNSAxNjUuNXQxMzAuNSAxMDkuNXEtODEgMzUgLTEzMC41IDEwOS41IHQtNDkuNSAxNjUuNXYxMDBoLTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxNTBoODAwek00MDAgMTAwMHYtMTAwcTAgLTYwIDMyLjUgLTEwOS41dDg3LjUgLTczLjVxMjggLTEyIDQ0IC0zN3QxNiAtNTV0LTE2IC01NXQtNDQgLTM3cS01NSAtMjQgLTg3LjUgLTczLjV0LTMyLjUgLTEwOS41di0xNTBoNDAwdjE1MHEwIDYwIC0zMi41IDEwOS41dC04Ny41IDczLjVxLTI4IDEyIC00NCAzN3QtMTYgNTV0MTYgNTV0NDQgMzcgcTU1IDI0IDg3LjUgNzMuNXQzMi41IDEwOS41djEwMGgtNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDI1ZmM7IiBob3Jpei1hZHYteD0iNTAwIiBkPSJNMCAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDI2MDE7IiBkPSJNNTAzIDEwODlxMTEwIDAgMjAwLjUgLTU5LjV0MTM0LjUgLTE1Ni41cTQ0IDE0IDkwIDE0cTEyMCAwIDIwNSAtODYuNXQ4NSAtMjA2LjVxMCAtMTIxIC04NSAtMjA3LjV0LTIwNSAtODYuNWgtNzUwcS03OSAwIC0xMzUuNSA1N3QtNTYuNSAxMzdxMCA2OSA0Mi41IDEyMi41dDEwOC41IDY3LjVxLTIgMTIgLTIgMzdxMCAxNTMgMTA4IDI2MC41dDI2MCAxMDcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyNmZhOyIgZD0iTTc3NCAxMTkzLjVxMTYgLTkuNSAyMC41IC0yN3QtNS41IC0zMy41bC0xMzYgLTE4N2w0NjcgLTc0NmgzMHEyMCAwIDM1IC0xOC41dDE1IC0zOS41di00MmgtMTIwMHY0MnEwIDIxIDE1IDM5LjV0MzUgMTguNWgzMGw0NjggNzQ2bC0xMzUgMTgzcS0xMCAxNiAtNS41IDM0dDIwLjUgMjh0MzQgNS41dDI4IC0yMC41bDExMSAtMTQ4bDExMiAxNTBxOSAxNiAyNyAyMC41dDM0IC01ek02MDAgMjAwaDM3N2wtMTgyIDExMmwtMTk1IDUzNHYtNjQ2eiAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyNzA5OyIgZD0iTTI1IDExMDBoMTE1MHExMCAwIDEyLjUgLTV0LTUuNSAtMTNsLTU2NCAtNTY3cS04IC04IC0xOCAtOHQtMTggOGwtNTY0IDU2N3EtOCA4IC01LjUgMTN0MTIuNSA1ek0xOCA4ODJsMjY0IC0yNjRxOCAtOCA4IC0xOHQtOCAtMThsLTI2NCAtMjY0cS04IC04IC0xMyAtNS41dC01IDEyLjV2NTUwcTAgMTAgNSAxMi41dDEzIC01LjV6TTkxOCA2MThsMjY0IDI2NHE4IDggMTMgNS41dDUgLTEyLjV2LTU1MHEwIC0xMCAtNSAtMTIuNXQtMTMgNS41IGwtMjY0IDI2NHEtOCA4IC04IDE4dDggMTh6TTgxOCA0ODJsMzY0IC0zNjRxOCAtOCA1LjUgLTEzdC0xMi41IC01aC0xMTUwcS0xMCAwIC0xMi41IDV0NS41IDEzbDM2NCAzNjRxOCA4IDE4IDh0MTggLThsMTY0IC0xNjRxOCAtOCAxOCAtOHQxOCA4bDE2NCAxNjRxOCA4IDE4IDh0MTggLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjcwZjsiIGQ9Ik0xMDExIDEyMTBxMTkgMCAzMyAtMTNsMTUzIC0xNTNxMTMgLTE0IDEzIC0zM3QtMTMgLTMzbC05OSAtOTJsLTIxNCAyMTRsOTUgOTZxMTMgMTQgMzIgMTR6TTEwMTMgODAwbC02MTUgLTYxNGwtMjE0IDIxNGw2MTQgNjE0ek0zMTcgOTZsLTMzMyAtMTEybDExMCAzMzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMTsiIGQ9Ik03MDAgNjUwdi01NTBoMjUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtODAwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgyNTB2NTUwbC01MDAgNTUwaDEyMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMjsiIGQ9Ik0zNjggMTAxN2w2NDUgMTYzcTM5IDE1IDYzIDB0MjQgLTQ5di04MzFxMCAtNTUgLTQxLjUgLTk1LjV0LTExMS41IC02My41cS03OSAtMjUgLTE0NyAtNC41dC04NiA3NXQyNS41IDExMS41dDEyMi41IDgycTcyIDI0IDEzOCA4djUyMWwtNjAwIC0xNTV2LTYwNnEwIC00MiAtNDQgLTkwdC0xMDkgLTY5cS03OSAtMjYgLTE0NyAtNS41dC04NiA3NS41dDI1LjUgMTExLjV0MTIyLjUgODIuNXE3MiAyNCAxMzggN3Y2MzlxMCAzOCAxNC41IDU5IHQ1My41IDM0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDM7IiBkPSJNNTAwIDExOTFxMTAwIDAgMTkxIC0zOXQxNTYuNSAtMTA0LjV0MTA0LjUgLTE1Ni41dDM5IC0xOTFsLTEgLTJsMSAtNXEwIC0xNDEgLTc4IC0yNjJsMjc1IC0yNzRxMjMgLTI2IDIyLjUgLTQ0LjV0LTIyLjUgLTQyLjVsLTU5IC01OHEtMjYgLTIwIC00Ni41IC0yMHQtMzkuNSAyMGwtMjc1IDI3NHEtMTE5IC03NyAtMjYxIC03N2wtNSAxbC0yIC0xcS0xMDAgMCAtMTkxIDM5dC0xNTYuNSAxMDQuNXQtMTA0LjUgMTU2LjV0LTM5IDE5MSB0MzkgMTkxdDEwNC41IDE1Ni41dDE1Ni41IDEwNC41dDE5MSAzOXpNNTAwIDEwMjJxLTg4IDAgLTE2MiAtNDN0LTExNyAtMTE3dC00MyAtMTYydDQzIC0xNjJ0MTE3IC0xMTd0MTYyIC00M3QxNjIgNDN0MTE3IDExN3Q0MyAxNjJ0LTQzIDE2MnQtMTE3IDExN3QtMTYyIDQzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDU7IiBkPSJNNjQ5IDk0OXE0OCA2OCAxMDkuNSAxMDR0MTIxLjUgMzguNXQxMTguNSAtMjB0MTAyLjUgLTY0dDcxIC0xMDAuNXQyNyAtMTIzcTAgLTU3IC0zMy41IC0xMTcuNXQtOTQgLTEyNC41dC0xMjYuNSAtMTI3LjV0LTE1MCAtMTUyLjV0LTE0NiAtMTc0cS02MiA4NSAtMTQ1LjUgMTc0dC0xNTAgMTUyLjV0LTEyNi41IDEyNy41dC05My41IDEyNC41dC0zMy41IDExNy41cTAgNjQgMjggMTIzdDczIDEwMC41dDEwNCA2NHQxMTkgMjAgdDEyMC41IC0zOC41dDEwNC41IC0xMDR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwNjsiIGQ9Ik00MDcgODAwbDEzMSAzNTNxNyAxOSAxNy41IDE5dDE3LjUgLTE5bDEyOSAtMzUzaDQyMXEyMSAwIDI0IC04LjV0LTE0IC0yMC41bC0zNDIgLTI0OWwxMzAgLTQwMXE3IC0yMCAtMC41IC0yNS41dC0yNC41IDYuNWwtMzQzIDI0NmwtMzQyIC0yNDdxLTE3IC0xMiAtMjQuNSAtNi41dC0wLjUgMjUuNWwxMzAgNDAwbC0zNDcgMjUxcS0xNyAxMiAtMTQgMjAuNXQyMyA4LjVoNDI5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDc7IiBkPSJNNDA3IDgwMGwxMzEgMzUzcTcgMTkgMTcuNSAxOXQxNy41IC0xOWwxMjkgLTM1M2g0MjFxMjEgMCAyNCAtOC41dC0xNCAtMjAuNWwtMzQyIC0yNDlsMTMwIC00MDFxNyAtMjAgLTAuNSAtMjUuNXQtMjQuNSA2LjVsLTM0MyAyNDZsLTM0MiAtMjQ3cS0xNyAtMTIgLTI0LjUgLTYuNXQtMC41IDI1LjVsMTMwIDQwMGwtMzQ3IDI1MXEtMTcgMTIgLTE0IDIwLjV0MjMgOC41aDQyOXpNNDc3IDcwMGgtMjQwbDE5NyAtMTQybC03NCAtMjI2IGwxOTMgMTM5bDE5NSAtMTQwbC03NCAyMjlsMTkyIDE0MGgtMjM0bC03OCAyMTF6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwODsiIGQ9Ik02MDAgMTIwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTI1MHEwIC00NiAtMzEgLTk4dC02OSAtNTJ2LTc1cTAgLTEwIDYgLTIxLjV0MTUgLTE3LjVsMzU4IC0yMzBxOSAtNSAxNSAtMTYuNXQ2IC0yMS41di05M3EwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTExNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5M3EwIDEwIDYgMjEuNXQxNSAxNi41bDM1OCAyMzBxOSA2IDE1IDE3LjV0NiAyMS41djc1cS0zOCAwIC02OSA1MiB0LTMxIDk4djI1MHEwIDEyNCA4OCAyMTJ0MjEyIDg4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDk7IiBkPSJNMjUgMTEwMGgxMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTA1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTExNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxMDUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEwMCAxMDAwdi0xMDBoMTAwdjEwMGgtMTAwek04NzUgMTAwMGgtNTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMzUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoNTUwIHExMCAwIDE3LjUgNy41dDcuNSAxNy41djM1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6TTEwMDAgMTAwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwIDgwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwMCA4MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMDAgNjAwdi0xMDBoMTAwdjEwMGgtMTAwek04NzUgNTAwaC01NTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di0zNTBxMCAtMTAgNy41IC0xNy41IHQxNy41IC03LjVoNTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MzUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXpNMTAwIDQwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCAyMDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTA7IiBkPSJNNTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek02NTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCA1MDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMTsiIGQ9Ik01MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTEwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNODUwIDcwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAzMDBoMjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTg1MCAzMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41IHQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMjsiIGQ9Ik01MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAxMTAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC03MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNDUwIDcwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAzMDBoNzAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC03MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMzsiIGQ9Ik00NjUgNDc3bDU3MSA1NzFxOCA4IDE4IDh0MTcgLThsMTc3IC0xNzdxOCAtNyA4IC0xN3QtOCAtMThsLTc4MyAtNzg0cS03IC04IC0xNy41IC04dC0xNy41IDhsLTM4NCAzODRxLTggOCAtOCAxOHQ4IDE3bDE3NyAxNzdxNyA4IDE3IDh0MTggLThsMTcxIC0xNzFxNyAtNyAxOCAtN3QxOCA3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTQ7IiBkPSJNOTA0IDEwODNsMTc4IC0xNzlxOCAtOCA4IC0xOC41dC04IC0xNy41bC0yNjcgLTI2OGwyNjcgLTI2OHE4IC03IDggLTE3LjV0LTggLTE4LjVsLTE3OCAtMTc4cS04IC04IC0xOC41IC04dC0xNy41IDhsLTI2OCAyNjdsLTI2OCAtMjY3cS03IC04IC0xNy41IC04dC0xOC41IDhsLTE3OCAxNzhxLTggOCAtOCAxOC41dDggMTcuNWwyNjcgMjY4bC0yNjcgMjY4cS04IDcgLTggMTcuNXQ4IDE4LjVsMTc4IDE3OHE4IDggMTguNSA4dDE3LjUgLTggbDI2OCAtMjY3bDI2OCAyNjhxNyA3IDE3LjUgN3QxOC41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTU7IiBkPSJNNTA3IDExNzdxOTggMCAxODcuNSAtMzguNXQxNTQuNSAtMTAzLjV0MTAzLjUgLTE1NC41dDM4LjUgLTE4Ny41cTAgLTE0MSAtNzggLTI2MmwzMDAgLTI5OXE4IC04IDggLTE4LjV0LTggLTE4LjVsLTEwOSAtMTA4cS03IC04IC0xNy41IC04dC0xOC41IDhsLTMwMCAyOTlxLTExOSAtNzcgLTI2MSAtNzdxLTk4IDAgLTE4OCAzOC41dC0xNTQuNSAxMDN0LTEwMyAxNTQuNXQtMzguNSAxODh0MzguNSAxODcuNXQxMDMgMTU0LjUgdDE1NC41IDEwMy41dDE4OCAzOC41ek01MDYuNSAxMDIzcS04OS41IDAgLTE2NS41IC00NHQtMTIwIC0xMjAuNXQtNDQgLTE2NnQ0NCAtMTY1LjV0MTIwIC0xMjB0MTY1LjUgLTQ0dDE2NiA0NHQxMjAuNSAxMjB0NDQgMTY1LjV0LTQ0IDE2NnQtMTIwLjUgMTIwLjV0LTE2NiA0NHpNNDI1IDkwMGgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di03NWg3NXExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41IHQtMTcuNSAtNy41aC03NXYtNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY3NWgtNzVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWg3NXY3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTY7IiBkPSJNNTA3IDExNzdxOTggMCAxODcuNSAtMzguNXQxNTQuNSAtMTAzLjV0MTAzLjUgLTE1NC41dDM4LjUgLTE4Ny41cTAgLTE0MSAtNzggLTI2MmwzMDAgLTI5OXE4IC04IDggLTE4LjV0LTggLTE4LjVsLTEwOSAtMTA4cS03IC04IC0xNy41IC04dC0xOC41IDhsLTMwMCAyOTlxLTExOSAtNzcgLTI2MSAtNzdxLTk4IDAgLTE4OCAzOC41dC0xNTQuNSAxMDN0LTEwMyAxNTQuNXQtMzguNSAxODh0MzguNSAxODcuNXQxMDMgMTU0LjUgdDE1NC41IDEwMy41dDE4OCAzOC41ek01MDYuNSAxMDIzcS04OS41IDAgLTE2NS41IC00NHQtMTIwIC0xMjAuNXQtNDQgLTE2NnQ0NCAtMTY1LjV0MTIwIC0xMjB0MTY1LjUgLTQ0dDE2NiA0NHQxMjAuNSAxMjB0NDQgMTY1LjV0LTQ0IDE2NnQtMTIwLjUgMTIwLjV0LTE2NiA0NHpNMzI1IDgwMGgzNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0zNTBxLTEwIDAgLTE3LjUgNy41IHQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxNzsiIGQ9Ik01NTAgMTIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04MDAgOTc1djE2NnExNjcgLTYyIDI3MiAtMjA5LjV0MTA1IC0zMzEuNXEwIC0xMTcgLTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNSB0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHEwIDE4NCAxMDUgMzMxLjV0MjcyIDIwOS41di0xNjZxLTEwMyAtNTUgLTE2NSAtMTU1dC02MiAtMjIwcTAgLTExNiA1NyAtMjE0LjV0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXEwIDEyMCAtNjIgMjIwdC0xNjUgMTU1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTg7IiBkPSJNMTAyNSAxMjAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTExNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxMTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTcyNSA4MDBoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NzUwIHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek00MjUgNTAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTQ1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djQ1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek0xMjUgMzAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTI1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41IHYyNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDE5OyIgZD0iTTYwMCAxMTc0cTMzIDAgNzQgLTVsMzggLTE1Mmw1IC0xcTQ5IC0xNCA5NCAtMzlsNSAtMmwxMzQgODBxNjEgLTQ4IDEwNCAtMTA1bC04MCAtMTM0bDMgLTVxMjUgLTQ0IDM5IC05M2wxIC02bDE1MiAtMzhxNSAtNDMgNSAtNzNxMCAtMzQgLTUgLTc0bC0xNTIgLTM4bC0xIC02cS0xNSAtNDkgLTM5IC05M2wtMyAtNWw4MCAtMTM0cS00OCAtNjEgLTEwNCAtMTA1bC0xMzQgODFsLTUgLTNxLTQ0IC0yNSAtOTQgLTM5bC01IC0ybC0zOCAtMTUxIHEtNDMgLTUgLTc0IC01cS0zMyAwIC03NCA1bC0zOCAxNTFsLTUgMnEtNDkgMTQgLTk0IDM5bC01IDNsLTEzNCAtODFxLTYwIDQ4IC0xMDQgMTA1bDgwIDEzNGwtMyA1cS0yNSA0NSAtMzggOTNsLTIgNmwtMTUxIDM4cS02IDQyIC02IDc0cTAgMzMgNiA3M2wxNTEgMzhsMiA2cTEzIDQ4IDM4IDkzbDMgNWwtODAgMTM0cTQ3IDYxIDEwNSAxMDVsMTMzIC04MGw1IDJxNDUgMjUgOTQgMzlsNSAxbDM4IDE1MnE0MyA1IDc0IDV6TTYwMCA4MTUgcS04OSAwIC0xNTIgLTYzdC02MyAtMTUxLjV0NjMgLTE1MS41dDE1MiAtNjN0MTUyIDYzdDYzIDE1MS41dC02MyAxNTEuNXQtMTUyIDYzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjA7IiBkPSJNNTAwIDEzMDBoMzAwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41di0xMDBoMjc1cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzVoLTExMDB2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNzV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNNTAwIDEyMDB2LTEwMGgzMDB2MTAwaC0zMDB6TTExMDAgOTAwdi04MDBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTcwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjUgdjgwMGg5MDB6TTMwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTUwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTcwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTkwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyMTsiIGQ9Ik0xOCA2MThsNjIwIDYwOHE4IDcgMTguNSA3dDE3LjUgLTdsNjA4IC02MDhxOCAtOCA1LjUgLTEzdC0xMi41IC01aC0xNzV2LTU3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM3NWgtMzAwdi0zNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1NzVoLTE3NXEtMTAgMCAtMTIuNSA1dDUuNSAxM3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDIyOyIgZD0iTTYwMCAxMjAwdi00MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDMwMHYtNjUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djExMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ1MHpNMTAwMCA4MDBoLTI1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjM7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTYwMCAxMDI3cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjUgdDE1NS41IC0xNTUuNXQyMTQuNSAtNTd0MjE0LjUgNTd0MTU1LjUgMTU1LjV0NTcgMjE0LjV0LTU3IDIxNC41dC0xNTUuNSAxNTUuNXQtMjE0LjUgNTd6TTUyNSA5MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0yNzVoMTc1cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI0OyIgZD0iTTEzMDAgMGgtNTM4bC00MSA0MDBoLTI0MmwtNDEgLTQwMGgtNTM4bDQzMSAxMjAwaDIwOWwtMjEgLTMwMGgxNjJsLTIwIDMwMGgyMDh6TTUxNSA4MDBsLTI3IC0zMDBoMjI0bC0yNyAzMDBoLTE3MHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI1OyIgZD0iTTU1MCAxMjAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDUwaDE5MXEyMCAwIDI1LjUgLTExLjV0LTcuNSAtMjcuNWwtMzI3IC00MDBxLTEzIC0xNiAtMzIgLTE2dC0zMiAxNmwtMzI3IDQwMHEtMTMgMTYgLTcuNSAyNy41dDI1LjUgMTEuNWgxOTF2NDUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTEyNSA0MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0zNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41IGgtMTA1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTc1aDkwMHYxNzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI2OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek01MjUgOTAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTI3NWgxMzdxMjEgMCAyNiAtMTEuNXQtOCAtMjcuNWwtMjIzIC0yNzVxLTEzIC0xNiAtMzIgLTE2dC0zMiAxNmwtMjIzIDI3NXEtMTMgMTYgLTggMjcuNXQyNiAxMS41aDEzN3YyNzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyNzsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNjAwIDEwMjdxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41dDU3IC0yMTQuNSB0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXQtNTcgMjE0LjV0LTE1NS41IDE1NS41dC0yMTQuNSA1N3pNNjMyIDkxNGwyMjMgLTI3NXExMyAtMTYgOCAtMjcuNXQtMjYgLTExLjVoLTEzN3YtMjc1cTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2Mjc1aC0xMzdxLTIxIDAgLTI2IDExLjV0OCAyNy41bDIyMyAyNzVxMTMgMTYgMzIgMTYgdDMyIC0xNnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI4OyIgZD0iTTIyNSAxMjAwaDc1MHExMCAwIDE5LjUgLTd0MTIuNSAtMTdsMTg2IC02NTJxNyAtMjQgNyAtNDl2LTQyNXEwIC0xMiAtNCAtMjd0LTkgLTE3cS0xMiAtNiAtMzcgLTZoLTExMDBxLTEyIDAgLTI3IDR0LTE3IDhxLTYgMTMgLTYgMzhsMSA0MjVxMCAyNSA3IDQ5bDE4NSA2NTJxMyAxMCAxMi41IDE3dDE5LjUgN3pNODc4IDEwMDBoLTU1NnEtMTAgMCAtMTkgLTd0LTExIC0xOGwtODcgLTQ1MHEtMiAtMTEgNCAtMTh0MTYgLTdoMTUwIHExMCAwIDE5LjUgLTd0MTEuNSAtMTdsMzggLTE1MnEyIC0xMCAxMS41IC0xN3QxOS41IC03aDI1MHExMCAwIDE5LjUgN3QxMS41IDE3bDM4IDE1MnEyIDEwIDExLjUgMTd0MTkuNSA3aDE1MHExMCAwIDE2IDd0NCAxOGwtODcgNDUwcS0yIDExIC0xMSAxOHQtMTkgN3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI5OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek01NDAgODIwbDI1MyAtMTkwcTE3IC0xMiAxNyAtMzB0LTE3IC0zMGwtMjUzIC0xOTBxLTE2IC0xMiAtMjggLTYuNXQtMTIgMjYuNXY0MDBxMCAyMSAxMiAyNi41dDI4IC02LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzMDsiIGQ9Ik05NDcgMTA2MGwxMzUgMTM1cTcgNyAxMi41IDV0NS41IC0xM3YtMzYycTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMzYycS0xMSAwIC0xMyA1LjV0NSAxMi41bDEzMyAxMzNxLTEwOSA3NiAtMjM4IDc2cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjV0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNWgxNTBxMCAtMTE3IC00NS41IC0yMjQgdC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXExOTIgMCAzNDcgLTExN3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDMxOyIgZD0iTTk0NyAxMDYwbDEzNSAxMzVxNyA3IDEyLjUgNXQ1LjUgLTEzdi0zNjFxMCAtMTEgLTcuNSAtMTguNXQtMTguNSAtNy41aC0zNjFxLTExIDAgLTEzIDUuNXQ1IDEyLjVsMTM0IDEzNHEtMTEwIDc1IC0yMzkgNzVxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41aC0xNTBxMCAxMTcgNDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXExOTIgMCAzNDcgLTExN3pNMTAyNyA2MDBoMTUwIHEwIC0xMTcgLTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41cS0xOTIgMCAtMzQ4IDExOGwtMTM0IC0xMzRxLTcgLTggLTEyLjUgLTUuNXQtNS41IDEyLjV2MzYwcTAgMTEgNy41IDE4LjV0MTguNSA3LjVoMzYwcTEwIDAgMTIuNSAtNS41dC01LjUgLTEyLjVsLTEzMyAtMTMzcTExMCAtNzYgMjQwIC03NnExMTYgMCAyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDMyOyIgZD0iTTEyNSAxMjAwaDEwNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTA1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djExNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMTA3NSAxMDAwaC04NTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di04NTBxMCAtMTAgNy41IC0xNy41dDE3LjUgLTcuNWg4NTBxMTAgMCAxNy41IDcuNXQ3LjUgMTcuNXY4NTAgcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXpNMzI1IDkwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01MjUgOTAwaDQ1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNDUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTAgcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTMyNSA3MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNTI1IDcwMGg0NTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTQ1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwIHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek0zMjUgNTAwaDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTUyNSA1MDBoNDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC00NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMzI1IDMwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01MjUgMzAwaDQ1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNDUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTAgcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzMzsiIGQ9Ik05MDAgODAwdjIwMHEwIDgzIC01OC41IDE0MS41dC0xNDEuNSA1OC41aC0zMDBxLTgyIDAgLTE0MSAtNTl0LTU5IC0xNDF2LTIwMGgtMTAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di02MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDkwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2NjAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41aC0xMDB6TTQwMCA4MDB2MTUwcTAgMjEgMTUgMzUuNXQzNSAxNC41aDIwMCBxMjAgMCAzNSAtMTQuNXQxNSAtMzUuNXYtMTUwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzNDsiIGQ9Ik0xMjUgMTEwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTEwNzVoLTEwMHYxMDc1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEwNzUgMTA1MnE0IDAgOSAtMnExNiAtNiAxNiAtMjN2LTQyMXEwIC02IC0zIC0xMnEtMzMgLTU5IC02Ni41IC05OXQtNjUuNSAtNTh0LTU2LjUgLTI0LjV0LTUyLjUgLTYuNXEtMjYgMCAtNTcuNSA2LjV0LTUyLjUgMTMuNXQtNjAgMjFxLTQxIDE1IC02MyAyMi41dC01Ny41IDE1dC02NS41IDcuNSBxLTg1IDAgLTE2MCAtNTdxLTcgLTUgLTE1IC01cS02IDAgLTExIDNxLTE0IDcgLTE0IDIydjQzOHEyMiA1NSA4MiA5OC41dDExOSA0Ni41cTIzIDIgNDMgMC41dDQzIC03dDMyLjUgLTguNXQzOCAtMTN0MzIuNSAtMTFxNDEgLTE0IDYzLjUgLTIxdDU3IC0xNHQ2My41IC03cTEwMyAwIDE4MyA4N3E3IDggMTggOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDM1OyIgZD0iTTYwMCAxMTc1cTExNiAwIDIyNyAtNDkuNXQxOTIuNSAtMTMxdDEzMSAtMTkyLjV0NDkuNSAtMjI3di0zMDBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djMwMHEwIDEyNyAtNzAuNSAyMzEuNXQtMTg0LjUgMTYxLjV0LTI0NSA1N3QtMjQ1IC01N3QtMTg0LjUgLTE2MS41dC03MC41IC0yMzEuNXYtMzAwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTAgcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MzAwcTAgMTE2IDQ5LjUgMjI3dDEzMSAxOTIuNXQxOTIuNSAxMzF0MjI3IDQ5LjV6TTIyMCA1MDBoMTYwcTggMCAxNCAtNnQ2IC0xNHYtNDYwcTAgLTggLTYgLTE0dC0xNCAtNmgtMTYwcS04IDAgLTE0IDZ0LTYgMTR2NDYwcTAgOCA2IDE0dDE0IDZ6TTgyMCA1MDBoMTYwcTggMCAxNCAtNnQ2IC0xNHYtNDYwcTAgLTggLTYgLTE0dC0xNCAtNmgtMTYwcS04IDAgLTE0IDZ0LTYgMTR2NDYwIHEwIDggNiAxNHQxNCA2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMzY7IiBkPSJNMzIxIDgxNGwyNTggMTcycTkgNiAxNSAyLjV0NiAtMTMuNXYtNzUwcTAgLTEwIC02IC0xMy41dC0xNSAyLjVsLTI1OCAxNzJxLTIxIDE0IC00NiAxNGgtMjUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MzUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMjUwcTI1IDAgNDYgMTR6TTkwMCA2NjhsMTIwIDEyMHE3IDcgMTcgN3QxNyAtN2wzNCAtMzRxNyAtNyA3IC0xN3QtNyAtMTdsLTEyMCAtMTIwbDEyMCAtMTIwcTcgLTcgNyAtMTcgdC03IC0xN2wtMzQgLTM0cS03IC03IC0xNyAtN3QtMTcgN2wtMTIwIDExOWwtMTIwIC0xMTlxLTcgLTcgLTE3IC03dC0xNyA3bC0zNCAzNHEtNyA3IC03IDE3dDcgMTdsMTE5IDEyMGwtMTE5IDEyMHEtNyA3IC03IDE3dDcgMTdsMzQgMzRxNyA4IDE3IDh0MTcgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzNzsiIGQ9Ik0zMjEgODE0bDI1OCAxNzJxOSA2IDE1IDIuNXQ2IC0xMy41di03NTBxMCAtMTAgLTYgLTEzLjV0LTE1IDIuNWwtMjU4IDE3MnEtMjEgMTQgLTQ2IDE0aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNTBxMjUgMCA0NiAxNHpNNzY2IDkwMGg0cTEwIC0xIDE2IC0xMHE5NiAtMTI5IDk2IC0yOTBxMCAtMTU0IC05MCAtMjgxcS02IC05IC0xNyAtMTBsLTMgLTFxLTkgMCAtMTYgNiBsLTI5IDIzcS03IDcgLTguNSAxNi41dDQuNSAxNy41cTcyIDEwMyA3MiAyMjlxMCAxMzIgLTc4IDIzOHEtNiA4IC00LjUgMTh0OS41IDE3bDI5IDIycTcgNSAxNSA1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMzg7IiBkPSJNOTY3IDEwMDRoM3ExMSAtMSAxNyAtMTBxMTM1IC0xNzkgMTM1IC0zOTZxMCAtMTA1IC0zNCAtMjA2LjV0LTk4IC0xODUuNXEtNyAtOSAtMTcgLTEwaC0zcS05IDAgLTE2IDZsLTQyIDM0cS04IDYgLTkgMTZ0NSAxOHExMTEgMTUwIDExMSAzMjhxMCA5MCAtMjkuNSAxNzZ0LTg0LjUgMTU3cS02IDkgLTUgMTl0MTAgMTZsNDIgMzNxNyA1IDE1IDV6TTMyMSA4MTRsMjU4IDE3MnE5IDYgMTUgMi41dDYgLTEzLjV2LTc1MHEwIC0xMCAtNiAtMTMuNSB0LTE1IDIuNWwtMjU4IDE3MnEtMjEgMTQgLTQ2IDE0aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNTBxMjUgMCA0NiAxNHpNNzY2IDkwMGg0cTEwIC0xIDE2IC0xMHE5NiAtMTI5IDk2IC0yOTBxMCAtMTU0IC05MCAtMjgxcS02IC05IC0xNyAtMTBsLTMgLTFxLTkgMCAtMTYgNmwtMjkgMjNxLTcgNyAtOC41IDE2LjV0NC41IDE3LjVxNzIgMTAzIDcyIDIyOXEwIDEzMiAtNzggMjM4IHEtNiA4IC00LjUgMTguNXQ5LjUgMTYuNWwyOSAyMnE3IDUgMTUgNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDM5OyIgZD0iTTUwMCA5MDBoMTAwdi0xMDBoLTEwMHYtMTAwaC00MDB2LTEwMGgtMTAwdjYwMGg1MDB2LTMwMHpNMTIwMCA3MDBoLTIwMHYtMTAwaDIwMHYtMjAwaC0zMDB2MzAwaC0yMDB2MzAwaC0xMDB2MjAwaDYwMHYtNTAwek0xMDAgMTEwMHYtMzAwaDMwMHYzMDBoLTMwMHpNODAwIDExMDB2LTMwMGgzMDB2MzAwaC0zMDB6TTMwMCA5MDBoLTEwMHYxMDBoMTAwdi0xMDB6TTEwMDAgOTAwaC0xMDB2MTAwaDEwMHYtMTAwek0zMDAgNTAwaDIwMHYtNTAwIGgtNTAwdjUwMGgyMDB2MTAwaDEwMHYtMTAwek04MDAgMzAwaDIwMHYtMTAwaC0xMDB2LTEwMGgtMjAwdjEwMGgtMTAwdjEwMGgxMDB2MjAwaC0yMDB2MTAwaDMwMHYtMzAwek0xMDAgNDAwdi0zMDBoMzAwdjMwMGgtMzAwek0zMDAgMjAwaC0xMDB2MTAwaDEwMHYtMTAwek0xMjAwIDIwMGgtMTAwdjEwMGgxMDB2LTEwMHpNNzAwIDBoLTEwMHYxMDBoMTAwdi0xMDB6TTEyMDAgMGgtMzAwdjEwMGgzMDB2LTEwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDQwOyIgZD0iTTEwMCAyMDBoLTEwMHYxMDAwaDEwMHYtMTAwMHpNMzAwIDIwMGgtMTAwdjEwMDBoMTAwdi0xMDAwek03MDAgMjAwaC0yMDB2MTAwMGgyMDB2LTEwMDB6TTkwMCAyMDBoLTEwMHYxMDAwaDEwMHYtMTAwMHpNMTIwMCAyMDBoLTIwMHYxMDAwaDIwMHYtMTAwMHpNNDAwIDBoLTMwMHYxMDBoMzAwdi0xMDB6TTYwMCAwaC0xMDB2OTFoMTAwdi05MXpNODAwIDBoLTEwMHY5MWgxMDB2LTkxek0xMTAwIDBoLTIwMHY5MWgyMDB2LTkxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNDE7IiBkPSJNNTAwIDEyMDBsNjgyIC02ODJxOCAtOCA4IC0xOHQtOCAtMThsLTQ2NCAtNDY0cS04IC04IC0xOCAtOHQtMTggOGwtNjgyIDY4MmwxIDQ3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDQ3NHpNMzE5LjUgMTAyNC41cS0yOS41IDI5LjUgLTcxIDI5LjV0LTcxIC0yOS41dC0yOS41IC03MS41dDI5LjUgLTcxLjV0NzEgLTI5LjV0NzEgMjkuNXQyOS41IDcxLjV0LTI5LjUgNzEuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDQyOyIgZD0iTTUwMCAxMjAwbDY4MiAtNjgycTggLTggOCAtMTh0LTggLTE4bC00NjQgLTQ2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTY4MiA2ODJsMSA0NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWg0NzR6TTgwMCAxMjAwbDY4MiAtNjgycTggLTggOCAtMTh0LTggLTE4bC00NjQgLTQ2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTU2IDU2bDQyNCA0MjZsLTcwMCA3MDBoMTUwek0zMTkuNSAxMDI0LjVxLTI5LjUgMjkuNSAtNzEgMjkuNXQtNzEgLTI5LjUgdC0yOS41IC03MS41dDI5LjUgLTcxLjV0NzEgLTI5LjV0NzEgMjkuNXQyOS41IDcxLjV0LTI5LjUgNzEuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDQzOyIgZD0iTTMwMCAxMjAwaDgyNXE3NSAwIDc1IC03NXYtOTAwcTAgLTI1IC0xOCAtNDNsLTY0IC02NHEtOCAtOCAtMTMgLTUuNXQtNSAxMi41djk1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjVoLTcwMHEtMjUgMCAtNDMgLTE4bC02NCAtNjRxLTggLTggLTUuNSAtMTN0MTIuNSAtNWg3MDBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di05NTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC04NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5NzUgcTAgMjUgMTggNDNsMTM5IDEzOXExOCAxOCA0MyAxOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDQ0OyIgZD0iTTI1MCAxMjAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTE1MGwtNDUwIDQ0NGwtNDUwIC00NDV2MTE1MXEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NTsiIGQ9Ik04MjIgMTIwMGgtNDQ0cS0xMSAwIC0xOSAtNy41dC05IC0xNy41bC03OCAtMzAxcS03IC0yNCA3IC00NWw1NyAtMTA4cTYgLTkgMTcuNSAtMTV0MjEuNSAtNmg0NTBxMTAgMCAyMS41IDZ0MTcuNSAxNWw2MiAxMDhxMTQgMjEgNyA0NWwtODMgMzAxcS0xIDEwIC05IDE3LjV0LTE5IDcuNXpNMTE3NSA4MDBoLTE1MHEtMTAgMCAtMjEgLTYuNXQtMTUgLTE1LjVsLTc4IC0xNTZxLTQgLTkgLTE1IC0xNS41dC0yMSAtNi41aC01NTAgcS0xMCAwIC0yMSA2LjV0LTE1IDE1LjVsLTc4IDE1NnEtNCA5IC0xNSAxNS41dC0yMSA2LjVoLTE1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTY1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDc1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41IHQ3LjUgMTcuNXY2NTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41ek04NTAgMjAwaC01MDBxLTEwIDAgLTE5LjUgLTd0LTExLjUgLTE3bC0zOCAtMTUycS0yIC0xMCAzLjUgLTE3dDE1LjUgLTdoNjAwcTEwIDAgMTUuNSA3dDMuNSAxN2wtMzggMTUycS0yIDEwIC0xMS41IDE3dC0xOS41IDd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NjsiIGQ9Ik01MDAgMTEwMGgyMDBxNTYgMCAxMDIuNSAtMjAuNXQ3Mi41IC01MHQ0NCAtNTl0MjUgLTUwLjVsNiAtMjBoMTUwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41di02MDBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTEwMDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djYwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMTUwcTIgOCA2LjUgMjEuNXQyNCA0OHQ0NSA2MXQ3MiA0OHQxMDIuNSAyMS41ek05MDAgODAwdi0xMDAgaDEwMHYxMDBoLTEwMHpNNjAwIDczMHEtOTUgMCAtMTYyLjUgLTY3LjV0LTY3LjUgLTE2Mi41dDY3LjUgLTE2Mi41dDE2Mi41IC02Ny41dDE2Mi41IDY3LjV0NjcuNSAxNjIuNXQtNjcuNSAxNjIuNXQtMTYyLjUgNjcuNXpNNjAwIDYwM3E0MyAwIDczIC0zMHQzMCAtNzN0LTMwIC03M3QtNzMgLTMwdC03MyAzMHQtMzAgNzN0MzAgNzN0NzMgMzB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NzsiIGQ9Ik02ODEgMTE5OWwzODUgLTk5OHEyMCAtNTAgNjAgLTkycTE4IC0xOSAzNi41IC0yOS41dDI3LjUgLTExLjVsMTAgLTJ2LTY2aC00MTd2NjZxNTMgMCA3NSA0My41dDUgODguNWwtODIgMjIyaC0zOTFxLTU4IC0xNDUgLTkyIC0yMzRxLTExIC0zNCAtNi41IC01N3QyNS41IC0zN3Q0NiAtMjB0NTUgLTZ2LTY2aC0zNjV2NjZxNTYgMjQgODQgNTJxMTIgMTIgMjUgMzAuNXQyMCAzMS41bDcgMTNsMzk5IDEwMDZoOTN6TTQxNiA1MjFoMzQwIGwtMTYyIDQ1N3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDQ4OyIgZD0iTTc1MyA2NDFxNSAtMSAxNC41IC00LjV0MzYgLTE1LjV0NTAuNSAtMjYuNXQ1My41IC00MHQ1MC41IC01NC41dDM1LjUgLTcwdDE0LjUgLTg3cTAgLTY3IC0yNy41IC0xMjUuNXQtNzEuNSAtOTcuNXQtOTguNSAtNjYuNXQtMTA4LjUgLTQwLjV0LTEwMiAtMTNoLTUwMHY4OXE0MSA3IDcwLjUgMzIuNXQyOS41IDY1LjV2ODI3cTAgMjQgLTAuNSAzNHQtMy41IDI0dC04LjUgMTkuNXQtMTcgMTMuNXQtMjggMTIuNXQtNDIuNSAxMS41djcxIGw0NzEgLTFxNTcgMCAxMTUuNSAtMjAuNXQxMDggLTU3dDgwLjUgLTk0dDMxIC0xMjQuNXEwIC01MSAtMTUuNSAtOTYuNXQtMzggLTc0LjV0LTQ1IC01MC41dC0zOC41IC0zMC41ek00MDAgNzAwaDEzOXE3OCAwIDEzMC41IDQ4LjV0NTIuNSAxMjIuNXEwIDQxIC04LjUgNzAuNXQtMjkuNSA1NS41dC02Mi41IDM5LjV0LTEwMy41IDEzLjVoLTExOHYtMzUwek00MDAgMjAwaDIxNnE4MCAwIDEyMSA1MC41dDQxIDEzMC41cTAgOTAgLTYyLjUgMTU0LjUgdC0xNTYuNSA2NC41aC0xNTl2LTQwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDQ5OyIgZD0iTTg3NyAxMjAwbDIgLTU3cS04MyAtMTkgLTExNiAtNDUuNXQtNDAgLTY2LjVsLTEzMiAtODM5cS05IC00OSAxMyAtNjl0OTYgLTI2di05N2gtNTAwdjk3cTE4NiAxNiAyMDAgOThsMTczIDgzMnEzIDE3IDMgMzB0LTEuNSAyMi41dC05IDE3LjV0LTEzLjUgMTIuNXQtMjEuNSAxMHQtMjYgOC41dC0zMy41IDEwcS0xMyAzIC0xOSA1djU3aDQyNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDUwOyIgZD0iTTEzMDAgOTAwaC01MHEwIDIxIC00IDM3dC05LjUgMjYuNXQtMTggMTcuNXQtMjIgMTF0LTI4LjUgNS41dC0zMSAydC0zNyAwLjVoLTIwMHYtODUwcTAgLTIyIDI1IC0zNC41dDUwIC0xMy41bDI1IC0ydi0xMDBoLTQwMHYxMDBxNCAwIDExIDAuNXQyNCAzdDMwIDd0MjQgMTV0MTEgMjQuNXY4NTBoLTIwMHEtMjUgMCAtMzcgLTAuNXQtMzEgLTJ0LTI4LjUgLTUuNXQtMjIgLTExdC0xOCAtMTcuNXQtOS41IC0yNi41dC00IC0zN2gtNTB2MzAwIGgxMDAwdi0zMDB6TTE3NSAxMDAwaC03NXYtODAwaDc1bC0xMjUgLTE2N2wtMTI1IDE2N2g3NXY4MDBoLTc1bDEyNSAxNjd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MTsiIGQ9Ik0xMTAwIDkwMGgtNTBxMCAyMSAtNCAzN3QtOS41IDI2LjV0LTE4IDE3LjV0LTIyIDExdC0yOC41IDUuNXQtMzEgMnQtMzcgMC41aC0yMDB2LTY1MHEwIC0yMiAyNSAtMzQuNXQ1MCAtMTMuNWwyNSAtMnYtMTAwaC00MDB2MTAwcTQgMCAxMSAwLjV0MjQgM3QzMCA3dDI0IDE1dDExIDI0LjV2NjUwaC0yMDBxLTI1IDAgLTM3IC0wLjV0LTMxIC0ydC0yOC41IC01LjV0LTIyIC0xMXQtMTggLTE3LjV0LTkuNSAtMjYuNXQtNCAtMzdoLTUwdjMwMCBoMTAwMHYtMzAwek0xMTY3IDUwbC0xNjcgLTEyNXY3NWgtODAwdi03NWwtMTY3IDEyNWwxNjcgMTI1di03NWg4MDB2NzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MjsiIGQ9Ik01MCAxMTAwaDYwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDgwMGgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA1MDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTgwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMjAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MzsiIGQ9Ik0yNTAgMTEwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMjUwIDUwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCAyMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDU0OyIgZD0iTTUwMCA5NTB2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg2MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXpNMTAwIDY1MHYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41ek0zMDAgMzUwdjEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTgwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV6TTAgNTB2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDU1OyIgZD0iTTUwIDExMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMjAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1NjsiIGQ9Ik01MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTM1MCAxMTAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMzUwIDgwMGg4MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTM1MCA1MDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zNTAgMjAwaDgwMCBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNTc7IiBkPSJNNDAwIDBoLTEwMHYxMTAwaDEwMHYtMTEwMHpNNTUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTUwIDgwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMjY3IDU1MGwtMTY3IC0xMjV2NzVoLTIwMHYxMDBoMjAwdjc1ek01NTAgNTAwaDMwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTU1MCAyMDBoNjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1ODsiIGQ9Ik01MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTkwMCAwaC0xMDB2MTEwMGgxMDB2LTExMDB6TTUwIDgwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTEwMCA2MDBoMjAwdi0xMDBoLTIwMHYtNzVsLTE2NyAxMjVsMTY3IDEyNXYtNzV6TTUwIDUwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCAyMDBoNjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1OTsiIGQ9Ik03NSAxMDAwaDc1MHEzMSAwIDUzIC0yMnQyMiAtNTN2LTY1MHEwIC0zMSAtMjIgLTUzdC01MyAtMjJoLTc1MHEtMzEgMCAtNTMgMjJ0LTIyIDUzdjY1MHEwIDMxIDIyIDUzdDUzIDIyek0xMjAwIDMwMGwtMzAwIDMwMGwzMDAgMzAwdi02MDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA2MDsiIGQ9Ik00NCAxMTAwaDExMTJxMTggMCAzMSAtMTN0MTMgLTMxdi0xMDEycTAgLTE4IC0xMyAtMzF0LTMxIC0xM2gtMTExMnEtMTggMCAtMzEgMTN0LTEzIDMxdjEwMTJxMCAxOCAxMyAzMXQzMSAxM3pNMTAwIDEwMDB2LTczN2wyNDcgMTgybDI5OCAtMTMxbC03NCAxNTZsMjkzIDMxOGwyMzYgLTI4OHY1MDBoLTEwMDB6TTM0MiA4ODRxNTYgMCA5NSAtMzl0MzkgLTk0LjV0LTM5IC05NXQtOTUgLTM5LjV0LTk1IDM5LjV0LTM5IDk1dDM5IDk0LjUgdDk1IDM5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjI7IiBkPSJNNjQ4IDExNjlxMTE3IDAgMjE2IC02MHQxNTYuNSAtMTYxdDU3LjUgLTIxOHEwIC0xMTUgLTcwIC0yNThxLTY5IC0xMDkgLTE1OCAtMjI1LjV0LTE0MyAtMTc5LjVsLTU0IC02MnEtOSA4IC0yNS41IDI0LjV0LTYzLjUgNjcuNXQtOTEgMTAzdC05OC41IDEyOHQtOTUuNSAxNDhxLTYwIDEzMiAtNjAgMjQ5cTAgODggMzQgMTY5LjV0OTEuNSAxNDJ0MTM3IDk2LjV0MTY2LjUgMzZ6TTY1Mi41IDk3NHEtOTEuNSAwIC0xNTYuNSAtNjUgdC02NSAtMTU3dDY1IC0xNTYuNXQxNTYuNSAtNjQuNXQxNTYuNSA2NC41dDY1IDE1Ni41dC02NSAxNTd0LTE1Ni41IDY1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjM7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTYwMCAxNzN2ODU0cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjUgdDE1NS41IC0xNTUuNXQyMTQuNSAtNTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA2NDsiIGQ9Ik01NTQgMTI5NXEyMSAtNzIgNTcuNSAtMTQzLjV0NzYgLTEzMHQ4MyAtMTE4dDgyLjUgLTExN3Q3MCAtMTE2dDQ5LjUgLTEyNnQxOC41IC0xMzYuNXEwIC03MSAtMjUuNSAtMTM1dC02OC41IC0xMTF0LTk5IC04MnQtMTE4LjUgLTU0dC0xMjUuNSAtMjNxLTg0IDUgLTE2MS41IDM0dC0xMzkuNSA3OC41dC05OSAxMjV0LTM3IDE2NC41cTAgNjkgMTggMTM2LjV0NDkuNSAxMjYuNXQ2OS41IDExNi41dDgxLjUgMTE3LjV0ODMuNSAxMTkgdDc2LjUgMTMxdDU4LjUgMTQzek0zNDQgNzEwcS0yMyAtMzMgLTQzLjUgLTcwLjV0LTQwLjUgLTEwMi41dC0xNyAtMTIzcTEgLTM3IDE0LjUgLTY5LjV0MzAgLTUydDQxIC0zN3QzOC41IC0yNC41dDMzIC0xNXEyMSAtNyAzMiAtMXQxMyAyMmw2IDM0cTIgMTAgLTIuNSAyMnQtMTMuNSAxOXEtNSA0IC0xNCAxMnQtMjkuNSA0MC41dC0zMi41IDczLjVxLTI2IDg5IDYgMjcxcTIgMTEgLTYgMTFxLTggMSAtMTUgLTEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjU7IiBkPSJNMTAwMCAxMDEzbDEwOCAxMTVxMiAxIDUgMnQxMyAydDIwLjUgLTF0MjUgLTkuNXQyOC41IC0yMS41cTIyIC0yMiAyNyAtNDN0MCAtMzJsLTYgLTEwbC0xMDggLTExNXpNMzUwIDExMDBoNDAwcTUwIDAgMTA1IC0xM2wtMTg3IC0xODdoLTM2OHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNTAwcTAgLTQxIDI5LjUgLTcwLjV0NzAuNSAtMjkuNWg1MDBxNDEgMCA3MC41IDI5LjV0MjkuNSA3MC41djE4MmwyMDAgMjAwdi0zMzIgcTAgLTE2NSAtOTMuNSAtMjU3LjV0LTI1Ni41IC05Mi41aC00MDBxLTE2NSAwIC0yNTcuNSA5Mi41dC05Mi41IDI1Ny41djQwMHEwIDE2NSA5Mi41IDI1Ny41dDI1Ny41IDkyLjV6TTEwMDkgODAzbC0zNjIgLTM2MmwtMTYxIC01MGw1NSAxNzBsMzU1IDM1NXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDY2OyIgZD0iTTM1MCAxMTAwaDM2MXEtMTY0IC0xNDYgLTIxNiAtMjAwaC0xOTVxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNWwyMDAgMTUzdi0xMDNxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXogTTgyNCAxMDczbDMzOSAtMzAxcTggLTcgOCAtMTcuNXQtOCAtMTcuNWwtMzQwIC0zMDZxLTcgLTYgLTEyLjUgLTR0LTYuNSAxMXYyMDNxLTI2IDEgLTU0LjUgMHQtNzguNSAtNy41dC05MiAtMTcuNXQtODYgLTM1dC03MCAtNTdxMTAgNTkgMzMgMTA4dDUxLjUgODEuNXQ2NSA1OC41dDY4LjUgNDAuNXQ2NyAyNC41dDU2IDEzLjV0NDAgNC41djIxMHExIDEwIDYuNSAxMi41dDEzLjUgLTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDY3OyIgZD0iTTM1MCAxMTAwaDM1MHE2MCAwIDEyNyAtMjNsLTE3OCAtMTc3aC0zNDlxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNXY2OWwyMDAgMjAwdi0yMTlxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXogTTY0MyA2MzlsMzk1IDM5NXE3IDcgMTcuNSA3dDE3LjUgLTdsMTAxIC0xMDFxNyAtNyA3IC0xNy41dC03IC0xNy41bC01MzEgLTUzMnEtNyAtNyAtMTcuNSAtN3QtMTcuNSA3bC0yNDggMjQ4cS03IDcgLTcgMTcuNXQ3IDE3LjVsMTAxIDEwMXE3IDcgMTcuNSA3dDE3LjUgLTdsMTExIC0xMTFxOCAtNyAxOCAtN3QxOCA3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjg7IiBkPSJNMzE4IDkxOGwyNjQgMjY0cTggOCAxOCA4dDE4IC04bDI2MCAtMjY0cTcgLTggNC41IC0xM3QtMTIuNSAtNWgtMTcwdi0yMDBoMjAwdjE3M3EwIDEwIDUgMTJ0MTMgLTVsMjY0IC0yNjBxOCAtNyA4IC0xNy41dC04IC0xNy41bC0yNjQgLTI2NXEtOCAtNyAtMTMgLTV0LTUgMTJ2MTczaC0yMDB2LTIwMGgxNzBxMTAgMCAxMi41IC01dC00LjUgLTEzbC0yNjAgLTI2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTI2NCAyNjRxLTggOCAtNS41IDEzIHQxMi41IDVoMTc1djIwMGgtMjAwdi0xNzNxMCAtMTAgLTUgLTEydC0xMyA1bC0yNjQgMjY1cS04IDcgLTggMTcuNXQ4IDE3LjVsMjY0IDI2MHE4IDcgMTMgNXQ1IC0xMnYtMTczaDIwMHYyMDBoLTE3NXEtMTAgMCAtMTIuNSA1dDUuNSAxM3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDY5OyIgZD0iTTI1MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDM4bDQ2NCA0NTNxMTUgMTQgMjUuNSAxMHQxMC41IC0yNXYtMTAwMHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ2NCA0NTN2LTQzOHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDcwOyIgZD0iTTUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MzhsNDY0IDQ1M3ExNSAxNCAyNS41IDEwdDEwLjUgLTI1di00MzhsNDY0IDQ1M3ExNSAxNCAyNS41IDEwdDEwLjUgLTI1di0xMDAwcTAgLTIxIC0xMC41IC0yNXQtMjUuNSAxMGwtNDY0IDQ1M3YtNDM4cTAgLTIxIC0xMC41IC0yNXQtMjUuNSAxMGwtNDY0IDQ1M3YtNDM4cTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXYxMDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDcxOyIgZD0iTTEyMDAgMTA1MHYtMTAwMHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ2NCA0NTN2LTQzOHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ5MiA0ODBxLTE1IDE0IC0xNSAzNXQxNSAzNWw0OTIgNDgwcTE1IDE0IDI1LjUgMTB0MTAuNSAtMjV2LTQzOGw0NjQgNDUzcTE1IDE0IDI1LjUgMTB0MTAuNSAtMjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3MjsiIGQ9Ik0yNDMgMTA3NGw4MTQgLTQ5OHExOCAtMTEgMTggLTI2dC0xOCAtMjZsLTgxNCAtNDk4cS0xOCAtMTEgLTMwLjUgLTR0LTEyLjUgMjh2MTAwMHEwIDIxIDEyLjUgMjh0MzAuNSAtNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDczOyIgZD0iTTI1MCAxMDAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtODAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCAxMDAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtODAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNzQ7IiBkPSJNMTEwMCA5NTB2LTgwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY4MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDc1OyIgZD0iTTUwMCA2MTJ2NDM4cTAgMjEgMTAuNSAyNXQyNS41IC0xMGw0OTIgLTQ4MHExNSAtMTQgMTUgLTM1dC0xNSAtMzVsLTQ5MiAtNDgwcS0xNSAtMTQgLTI1LjUgLTEwdC0xMC41IDI1djQzOGwtNDY0IC00NTNxLTE1IC0xNCAtMjUuNSAtMTB0LTEwLjUgMjV2MTAwMHEwIDIxIDEwLjUgMjV0MjUuNSAtMTB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3NjsiIGQ9Ik0xMDQ4IDExMDJsMTAwIDFxMjAgMCAzNSAtMTQuNXQxNSAtMzUuNWw1IC0xMDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41bC0xMDAgLTFxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41bC0yIDQzN2wtNDYzIC00NTRxLTE0IC0xNSAtMjQuNSAtMTAuNXQtMTAuNSAyNS41bC0yIDQzN2wtNDYyIC00NTVxLTE1IC0xNCAtMjUuNSAtOS41dC0xMC41IDI0LjVsLTUgMTAwMHEwIDIxIDEwLjUgMjUuNXQyNS41IC0xMC41bDQ2NiAtNDUwIGwtMiA0MzhxMCAyMCAxMC41IDI0LjV0MjUuNSAtOS41bDQ2NiAtNDUxbC0yIDQzOHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3NzsiIGQ9Ik04NTAgMTEwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDM4bC00NjQgLTQ1M3EtMTUgLTE0IC0yNS41IC0xMHQtMTAuNSAyNXYxMDAwcTAgMjEgMTAuNSAyNXQyNS41IC0xMGw0NjQgLTQ1M3Y0MzhxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNzg7IiBkPSJNNjg2IDEwODFsNTAxIC01NDBxMTUgLTE1IDEwLjUgLTI2dC0yNi41IC0xMWgtMTA0MnEtMjIgMCAtMjYuNSAxMXQxMC41IDI2bDUwMSA1NDBxMTUgMTUgMzYgMTV0MzYgLTE1ek0xNTAgNDAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDc5OyIgZD0iTTg4NSA5MDBsLTM1MiAtMzUzbDM1MiAtMzUzbC0xOTcgLTE5OGwtNTUyIDU1Mmw1NTIgNTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwODA7IiBkPSJNMTA2NCA1NDdsLTU1MSAtNTUxbC0xOTggMTk4bDM1MyAzNTNsLTM1MyAzNTNsMTk4IDE5OHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDgxOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02NTAgOTAwaC0xMDBxLTIxIDAgLTM1LjUgLTE0LjV0LTE0LjUgLTM1LjV2LTE1MGgtMTUwIHEtMjEgMCAtMzUuNSAtMTQuNXQtMTQuNSAtMzUuNXYtMTAwcTAgLTIxIDE0LjUgLTM1LjV0MzUuNSAtMTQuNWgxNTB2LTE1MHEwIC0yMSAxNC41IC0zNS41dDM1LjUgLTE0LjVoMTAwcTIxIDAgMzUuNSAxNC41dDE0LjUgMzUuNXYxNTBoMTUwcTIxIDAgMzUuNSAxNC41dDE0LjUgMzUuNXYxMDBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTE1MHYxNTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4MjsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNODUwIDcwMGgtNTAwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xMDBxMCAtMjEgMTQuNSAtMzUuNSB0MzUuNSAtMTQuNWg1MDBxMjEgMCAzNS41IDE0LjV0MTQuNSAzNS41djEwMHEwIDIxIC0xNC41IDM1LjV0LTM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDgzOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek03NDEuNSA5MTNxLTEyLjUgMCAtMjEuNSAtOWwtMTIwIC0xMjBsLTEyMCAxMjBxLTkgOSAtMjEuNSA5IHQtMjEuNSAtOWwtMTQxIC0xNDFxLTkgLTkgLTkgLTIxLjV0OSAtMjEuNWwxMjAgLTEyMGwtMTIwIC0xMjBxLTkgLTkgLTkgLTIxLjV0OSAtMjEuNWwxNDEgLTE0MXE5IC05IDIxLjUgLTl0MjEuNSA5bDEyMCAxMjBsMTIwIC0xMjBxOSAtOSAyMS41IC05dDIxLjUgOWwxNDEgMTQxcTkgOSA5IDIxLjV0LTkgMjEuNWwtMTIwIDEyMGwxMjAgMTIwcTkgOSA5IDIxLjV0LTkgMjEuNWwtMTQxIDE0MXEtOSA5IC0yMS41IDl6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4NDsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNTQ2IDYyM2wtODQgODVxLTcgNyAtMTcuNSA3dC0xOC41IC03bC0xMzkgLTEzOXEtNyAtOCAtNyAtMTh0NyAtMTggbDI0MiAtMjQxcTcgLTggMTcuNSAtOHQxNy41IDhsMzc1IDM3NXE3IDcgNyAxNy41dC03IDE4LjVsLTEzOSAxMzlxLTcgNyAtMTcuNSA3dC0xNy41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwODU7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTU4OCA5NDFxLTI5IDAgLTU5IC01LjV0LTYzIC0yMC41dC01OCAtMzguNXQtNDEuNSAtNjN0LTE2LjUgLTg5LjUgcTAgLTI1IDIwIC0yNWgxMzFxMzAgLTUgMzUgMTFxNiAyMCAyMC41IDI4dDQ1LjUgOHEyMCAwIDMxLjUgLTEwLjV0MTEuNSAtMjguNXEwIC0yMyAtNyAtMzR0LTI2IC0xOHEtMSAwIC0xMy41IC00dC0xOS41IC03LjV0LTIwIC0xMC41dC0yMiAtMTd0LTE4LjUgLTI0dC0xNS41IC0zNXQtOCAtNDZxLTEgLTggNS41IC0xNi41dDIwLjUgLTguNWgxNzNxNyAwIDIyIDh0MzUgMjh0MzcuNSA0OHQyOS41IDc0dDEyIDEwMHEwIDQ3IC0xNyA4MyB0LTQyLjUgNTd0LTU5LjUgMzQuNXQtNjQgMTh0LTU5IDQuNXpNNjc1IDQwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MTUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDg2OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02NzUgMTAwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNSB0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djE1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6TTY3NSA3MDBoLTI1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoNzV2LTIwMGgtNzVxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di01MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDM1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djUwcTAgMTAgLTcuNSAxNy41IHQtMTcuNSA3LjVoLTc1djI3NXEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4NzsiIGQ9Ik01MjUgMTIwMGgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xOTRxMTAzIC0yNyAxNzguNSAtMTAyLjV0MTAyLjUgLTE3OC41aDE5NHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE5NHEtMjcgLTEwMyAtMTAyLjUgLTE3OC41dC0xNzguNSAtMTAyLjV2LTE5NHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE5NCBxLTEwMyAyNyAtMTc4LjUgMTAyLjV0LTEwMi41IDE3OC41aC0xOTRxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxOTRxMjcgMTAzIDEwMi41IDE3OC41dDE3OC41IDEwMi41djE5NHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek03MDAgODkzdi0xNjhxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNjhxLTY4IC0yMyAtMTE5IC03NCB0LTc0IC0xMTloMTY4cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTY4cTIzIC02OCA3NCAtMTE5dDExOSAtNzR2MTY4cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTY4cTY4IDIzIDExOSA3NHQ3NCAxMTloLTE2OHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDE2OCBxLTIzIDY4IC03NCAxMTl0LTExOSA3NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDg4OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek03NTkgODIzbDY0IC02NHE3IC03IDcgLTE3LjV0LTcgLTE3LjVsLTEyNCAtMTI0bDEyNCAtMTI0cTcgLTcgNyAtMTcuNXQtNyAtMTcuNWwtNjQgLTY0cS03IC03IC0xNy41IC03dC0xNy41IDdsLTEyNCAxMjRsLTEyNCAtMTI0cS03IC03IC0xNy41IC03dC0xNy41IDdsLTY0IDY0IHEtNyA3IC03IDE3LjV0NyAxNy41bDEyNCAxMjRsLTEyNCAxMjRxLTcgNyAtNyAxNy41dDcgMTcuNWw2NCA2NHE3IDcgMTcuNSA3dDE3LjUgLTdsMTI0IC0xMjRsMTI0IDEyNHE3IDcgMTcuNSA3dDE3LjUgLTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4OTsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNjAwIDEwMjdxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41dDU3IC0yMTQuNSB0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXQtNTcgMjE0LjV0LTE1NS41IDE1NS41dC0yMTQuNSA1N3pNNzgyIDc4OGwxMDYgLTEwNnE3IC03IDcgLTE3LjV0LTcgLTE3LjVsLTMyMCAtMzIxcS04IC03IC0xOCAtN3QtMTggN2wtMjAyIDIwM3EtOCA3IC04IDE3LjV0OCAxNy41bDEwNiAxMDZxNyA4IDE3LjUgOHQxNy41IC04bDc5IC03OWwxOTcgMTk3cTcgNyAxNy41IDd0MTcuNSAtN3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDkwOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjVxMCAtMTIwIDY1IC0yMjUgbDU4NyA1ODdxLTEwNSA2NSAtMjI1IDY1ek05NjUgODE5bC01ODQgLTU4NHExMDQgLTYyIDIxOSAtNjJxMTE2IDAgMjE0LjUgNTd0MTU1LjUgMTU1LjV0NTcgMjE0LjVxMCAxMTUgLTYyIDIxOXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDkxOyIgZD0iTTM5IDU4Mmw1MjIgNDI3cTE2IDEzIDI3LjUgOHQxMS41IC0yNnYtMjkxaDU1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC01NTB2LTI5MXEwIC0yMSAtMTEuNSAtMjZ0LTI3LjUgOGwtNTIyIDQyN3EtMTYgMTMgLTE2IDMydDE2IDMyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwOTI7IiBkPSJNNjM5IDEwMDlsNTIyIC00MjdxMTYgLTEzIDE2IC0zMnQtMTYgLTMybC01MjIgLTQyN3EtMTYgLTEzIC0yNy41IC04dC0xMS41IDI2djI5MWgtNTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDU1MHYyOTFxMCAyMSAxMS41IDI2dDI3LjUgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA5MzsiIGQ9Ik02ODIgMTE2MWw0MjcgLTUyMnExMyAtMTYgOCAtMjcuNXQtMjYgLTExLjVoLTI5MXYtNTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djU1MGgtMjkxcS0yMSAwIC0yNiAxMS41dDggMjcuNWw0MjcgNTIycTEzIDE2IDMyIDE2dDMyIC0xNnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDk0OyIgZD0iTTU1MCAxMjAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTUwaDI5MXEyMSAwIDI2IC0xMS41dC04IC0yNy41bC00MjcgLTUyMnEtMTMgLTE2IC0zMiAtMTZ0LTMyIDE2bC00MjcgNTIycS0xMyAxNiAtOCAyNy41dDI2IDExLjVoMjkxdjU1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA5NTsiIGQ9Ik02MzkgMTEwOWw1MjIgLTQyN3ExNiAtMTMgMTYgLTMydC0xNiAtMzJsLTUyMiAtNDI3cS0xNiAtMTMgLTI3LjUgLTh0LTExLjUgMjZ2MjkxcS05NCAtMiAtMTgyIC0yMHQtMTcwLjUgLTUydC0xNDcgLTkyLjV0LTEwMC41IC0xMzUuNXE1IDEwNSAyNyAxOTMuNXQ2Ny41IDE2N3QxMTMgMTM1dDE2NyA5MS41dDIyNS41IDQydjI2MnEwIDIxIDExLjUgMjZ0MjcuNSAtOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDk2OyIgZD0iTTg1MCAxMjAwaDMwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMzAwcTAgLTIxIC0xMC41IC0yNXQtMjQuNSAxMGwtOTQgOTRsLTI0OSAtMjQ5cS04IC03IC0xOCAtN3QtMTggN2wtMTA2IDEwNnEtNyA4IC03IDE4dDcgMThsMjQ5IDI0OWwtOTQgOTRxLTE0IDE0IC0xMCAyNC41dDI1IDEwLjV6TTM1MCAwaC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djMwMHEwIDIxIDEwLjUgMjV0MjQuNSAtMTBsOTQgLTk0bDI0OSAyNDkgcTggNyAxOCA3dDE4IC03bDEwNiAtMTA2cTcgLTggNyAtMTh0LTcgLTE4bC0yNDkgLTI0OWw5NCAtOTRxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDk3OyIgZD0iTTEwMTQgMTEyMGwxMDYgLTEwNnE3IC04IDcgLTE4dC03IC0xOGwtMjQ5IC0yNDlsOTQgLTk0cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTMwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MzAwcTAgMjEgMTAuNSAyNXQyNC41IC0xMGw5NCAtOTRsMjQ5IDI0OXE4IDcgMTggN3QxOCAtN3pNMjUwIDYwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTk0IDk0IGwtMjQ5IC0yNDlxLTggLTcgLTE4IC03dC0xOCA3bC0xMDYgMTA2cS03IDggLTcgMTh0NyAxOGwyNDkgMjQ5bC05NCA5NHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTAxOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek03MDQgOTAwaC0yMDhxLTIwIDAgLTMyIC0xNC41dC04IC0zNC41bDU4IC0zMDJxNCAtMjAgMjEuNSAtMzQuNSB0MzcuNSAtMTQuNWg1NHEyMCAwIDM3LjUgMTQuNXQyMS41IDM0LjVsNTggMzAycTQgMjAgLTggMzQuNXQtMzIgMTQuNXpNNjc1IDQwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MTUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTAyOyIgZD0iTTI2MCAxMjAwcTkgMCAxOSAtMnQxNSAtNGw1IC0ycTIyIC0xMCA0NCAtMjNsMTk2IC0xMThxMjEgLTEzIDM2IC0yNHEyOSAtMjEgMzcgLTEycTExIDEzIDQ5IDM1bDE5NiAxMThxMjIgMTMgNDUgMjNxMTcgNyAzOCA3cTIzIDAgNDcgLTE2LjV0MzcgLTMzLjVsMTMgLTE2cTE0IC0yMSAxOCAtNDVsMjUgLTEyM2w4IC00NHExIC05IDguNSAtMTQuNXQxNy41IC01LjVoNjFxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MCBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTE3NWgtNDAwdjMwMGgtMjAwdi0zMDBoLTQwMHYxNzVxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNjFxMTEgMCAxOCAzdDcgOHEwIDQgOSA1MmwyNSAxMjhxNSAyNSAxOSA0NXEyIDMgNSA3dDEzLjUgMTV0MjEuNSAxOS41dDI2LjUgMTUuNSB0MjkuNSA3ek05MTUgMTA3OWwtMTY2IC0xNjJxLTcgLTcgLTUgLTEydDEyIC01aDIxOXExMCAwIDE1IDd0MiAxN2wtNTEgMTQ5cS0zIDEwIC0xMSAxMnQtMTUgLTZ6TTQ2MyA5MTdsLTE3NyAxNTdxLTggNyAtMTYgNXQtMTEgLTEybC01MSAtMTQzcS0zIC0xMCAyIC0xN3QxNSAtN2gyMzFxMTEgMCAxMi41IDV0LTUuNSAxMnpNNTAwIDBoLTM3NXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM3NWg0MDB2LTQwMHpNMTEwMCA0MDB2LTM3NSBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0zNzV2NDAwaDQwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTAzOyIgZD0iTTExNjUgMTE5MHE4IDMgMjEgLTYuNXQxMyAtMTcuNXEtMiAtMTc4IC0yNC41IC0zMjMuNXQtNTUuNSAtMjQ1LjV0LTg3IC0xNzQuNXQtMTAyLjUgLTExOC41dC0xMTggLTY4LjV0LTExOC41IC0zM3QtMTIwIC00LjV0LTEwNSA5LjV0LTkwIDE2LjVxLTYxIDEyIC03OCAxMXEtNCAxIC0xMi41IDB0LTM0IC0xNC41dC01Mi41IC00MC41bC0xNTMgLTE1M3EtMjYgLTI0IC0zNyAtMTQuNXQtMTEgNDMuNXEwIDY0IDQyIDEwMnE4IDggNTAuNSA0NSB0NjYuNSA1OHExOSAxNyAzNSA0N3QxMyA2MXEtOSA1NSAtMTAgMTAyLjV0NyAxMTF0MzcgMTMwdDc4IDEyOS41cTM5IDUxIDgwIDg4dDg5LjUgNjMuNXQ5NC41IDQ1dDExMy41IDM2dDEyOSAzMXQxNTcuNSAzN3QxODIgNDcuNXpNMTExNiAxMDk4cS04IDkgLTIyLjUgLTN0LTQ1LjUgLTUwcS0zOCAtNDcgLTExOSAtMTAzLjV0LTE0MiAtODkuNWwtNjIgLTMzcS01NiAtMzAgLTEwMiAtNTd0LTEwNCAtNjh0LTEwMi41IC04MC41dC04NS41IC05MSB0LTY0IC0xMDQuNXEtMjQgLTU2IC0zMSAtODZ0MiAtMzJ0MzEuNSAxNy41dDU1LjUgNTkuNXEyNSAzMCA5NCA3NS41dDEyNS41IDc3LjV0MTQ3LjUgODFxNzAgMzcgMTE4LjUgNjl0MTAyIDc5LjV0OTkgMTExdDg2LjUgMTQ4LjVxMjIgNTAgMjQgNjB0LTYgMTl6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNDsiIGQ9Ik02NTMgMTIzMXEtMzkgLTY3IC01NC41IC0xMzF0LTEwLjUgLTExNC41dDI0LjUgLTk2LjV0NDcuNSAtODB0NjMuNSAtNjIuNXQ2OC41IC00Ni41dDY1IC0zMHEtNCA3IC0xNy41IDM1dC0xOC41IDM5LjV0LTE3IDM5LjV0LTE3IDQzdC0xMyA0MnQtOS41IDQ0LjV0LTIgNDJ0NCA0M3QxMy41IDM5dDIzIDM4LjVxOTYgLTQyIDE2NSAtMTA3LjV0MTA1IC0xMzh0NTIgLTE1NnQxMyAtMTU5dC0xOSAtMTQ5LjVxLTEzIC01NSAtNDQgLTEwNi41IHQtNjggLTg3dC03OC41IC02NC41dC03Mi41IC00NXQtNTMgLTIycS03MiAtMjIgLTEyNyAtMTFxLTMxIDYgLTEzIDE5cTYgMyAxNyA3cTEzIDUgMzIuNSAyMXQ0MSA0NHQzOC41IDYzLjV0MjEuNSA4MS41dC02LjUgOTQuNXQtNTAgMTA3dC0xMDQgMTE1LjVxMTAgLTEwNCAtMC41IC0xODl0LTM3IC0xNDAuNXQtNjUgLTkzdC04NCAtNTJ0LTkzLjUgLTExdC05NSAyNC41cS04MCAzNiAtMTMxLjUgMTE0dC01My41IDE3MXEtMiAyMyAwIDQ5LjUgdDQuNSA1Mi41dDEzLjUgNTZ0MjcuNSA2MHQ0NiA2NC41dDY5LjUgNjguNXEtOCAtNTMgLTUgLTEwMi41dDE3LjUgLTkwdDM0IC02OC41dDQ0LjUgLTM5dDQ5IC0ycTMxIDEzIDM4LjUgMzZ0LTQuNSA1NXQtMjkgNjQuNXQtMzYgNzV0LTI2IDc1LjVxLTE1IDg1IDIgMTYxLjV0NTMuNSAxMjguNXQ4NS41IDkyLjV0OTMuNSA2MXQ4MS41IDI1LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNTsiIGQ9Ik02MDAgMTA5NHE4MiAwIDE2MC41IC0yMi41dDE0MCAtNTl0MTE2LjUgLTgyLjV0OTQuNSAtOTV0NjggLTk1dDQyLjUgLTgyLjV0MTQgLTU3LjV0LTE0IC01Ny41dC00MyAtODIuNXQtNjguNSAtOTV0LTk0LjUgLTk1dC0xMTYuNSAtODIuNXQtMTQwIC01OXQtMTU5LjUgLTIyLjV0LTE1OS41IDIyLjV0LTE0MCA1OXQtMTE2LjUgODIuNXQtOTQuNSA5NXQtNjguNSA5NXQtNDMgODIuNXQtMTQgNTcuNXQxNCA1Ny41dDQyLjUgODIuNXQ2OCA5NSB0OTQuNSA5NXQxMTYuNSA4Mi41dDE0MCA1OXQxNjAuNSAyMi41ek04ODggODI5cS0xNSAxNSAtMTggMTJ0NSAtMjJxMjUgLTU3IDI1IC0xMTlxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4dC0yMTIgODh0LTg4IDIxMnEwIDU5IDIzIDExNHE4IDE5IDQuNSAyMnQtMTcuNSAtMTJxLTcwIC02OSAtMTYwIC0xODRxLTEzIC0xNiAtMTUgLTQwLjV0OSAtNDIuNXEyMiAtMzYgNDcgLTcxdDcwIC04MnQ5Mi41IC04MXQxMTMgLTU4LjV0MTMzLjUgLTI0LjUgdDEzMy41IDI0dDExMyA1OC41dDkyLjUgODEuNXQ3MCA4MS41dDQ3IDcwLjVxMTEgMTggOSA0Mi41dC0xNCA0MS41cS05MCAxMTcgLTE2MyAxODl6TTQ0OCA3MjdsLTM1IC0zNnEtMTUgLTE1IC0xOS41IC0zOC41dDQuNSAtNDEuNXEzNyAtNjggOTMgLTExNnExNiAtMTMgMzguNSAtMTF0MzYuNSAxN2wzNSAzNHExNCAxNSAxMi41IDMzLjV0LTE2LjUgMzMuNXEtNDQgNDQgLTg5IDExN3EtMTEgMTggLTI4IDIwdC0zMiAtMTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNjsiIGQ9Ik01OTIgMGgtMTQ4bDMxIDEyMHEtOTEgMjAgLTE3NS41IDY4LjV0LTE0My41IDEwNi41dC0xMDMuNSAxMTl0LTY2LjUgMTEwdC0yMiA3NnEwIDIxIDE0IDU3LjV0NDIuNSA4Mi41dDY4IDk1dDk0LjUgOTV0MTE2LjUgODIuNXQxNDAgNTl0MTYwLjUgMjIuNXE2MSAwIDEyNiAtMTVsMzIgMTIxaDE0OHpNOTQ0IDc3MGw0NyAxODFxMTA4IC04NSAxNzYuNSAtMTkydDY4LjUgLTE1OXEwIC0yNiAtMTkuNSAtNzF0LTU5LjUgLTEwMnQtOTMgLTExMiB0LTEyOSAtMTA0LjV0LTE1OCAtNzUuNWw0NiAxNzNxNzcgNDkgMTM2IDExN3Q5NyAxMzFxMTEgMTggOSA0Mi41dC0xNCA0MS41cS01NCA3MCAtMTA3IDEzMHpNMzEwIDgyNHEtNzAgLTY5IC0xNjAgLTE4NHEtMTMgLTE2IC0xNSAtNDAuNXQ5IC00Mi41cTE4IC0zMCAzOSAtNjB0NTcgLTcwLjV0NzQgLTczdDkwIC02MXQxMDUgLTQxLjVsNDEgMTU0cS0xMDcgMTggLTE3OC41IDEwMS41dC03MS41IDE5My41cTAgNTkgMjMgMTE0cTggMTkgNC41IDIyIHQtMTcuNSAtMTJ6TTQ0OCA3MjdsLTM1IC0zNnEtMTUgLTE1IC0xOS41IC0zOC41dDQuNSAtNDEuNXEzNyAtNjggOTMgLTExNnExNiAtMTMgMzguNSAtMTF0MzYuNSAxN2wxMiAxMWwyMiA4NmwtMyA0cS00NCA0NCAtODkgMTE3cS0xMSAxOCAtMjggMjB0LTMyIC0xMnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTA3OyIgZD0iTS05MCAxMDBsNjQyIDEwNjZxMjAgMzEgNDggMjguNXQ0OCAtMzUuNWw2NDIgLTEwNTZxMjEgLTMyIDcuNSAtNjcuNXQtNTAuNSAtMzUuNWgtMTI5NHEtMzcgMCAtNTAuNSAzNHQ3LjUgNjZ6TTE1NSAyMDBoMzQ1djc1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzVoMzQ1bC00NDUgNzIzek00OTYgNzAwaDIwOHEyMCAwIDMyIC0xNC41dDggLTM0LjVsLTU4IC0yNTIgcS00IC0yMCAtMjEuNSAtMzQuNXQtMzcuNSAtMTQuNWgtNTRxLTIwIDAgLTM3LjUgMTQuNXQtMjEuNSAzNC41bC01OCAyNTJxLTQgMjAgOCAzNC41dDMyIDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwODsiIGQ9Ik02NTAgMTIwMHE2MiAwIDEwNiAtNDR0NDQgLTEwNnYtMzM5bDM2MyAtMzI1cTE1IC0xNCAyNiAtMzguNXQxMSAtNDQuNXYtNDFxMCAtMjAgLTEyIC0yNi41dC0yOSA1LjVsLTM1OSAyNDl2LTI2M3ExMDAgLTkzIDEwMCAtMTEzdi02NHEwIC0yMSAtMTMgLTI5dC0zMiAxbC0yMDUgMTI4bC0yMDUgLTEyOHEtMTkgLTkgLTMyIC0xdC0xMyAyOXY2NHEwIDIwIDEwMCAxMTN2MjYzbC0zNTkgLTI0OXEtMTcgLTEyIC0yOSAtNS41dC0xMiAyNi41djQxIHEwIDIwIDExIDQ0LjV0MjYgMzguNWwzNjMgMzI1djMzOXEwIDYyIDQ0IDEwNnQxMDYgNDR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwOTsiIGQ9Ik04NTAgMTIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwaDUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoLTExMDB2MTUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGg1MDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMTAwIDgwMHYtNzUwcTAgLTIxIC0xNC41IC0zNS41IHQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NzUwaDExMDB6TTEwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTMwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTUwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTcwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTkwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTMwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTUwMCA0MDAgdi0xMDBoMTAwdjEwMGgtMTAwek03MDAgNDAwdi0xMDBoMTAwdjEwMGgtMTAwek05MDAgNDAwdi0xMDBoMTAwdjEwMGgtMTAwek0xMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek0zMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek01MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek03MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek05MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTA7IiBkPSJNMTEzNSAxMTY1bDI0OSAtMjMwcTE1IC0xNCAxNSAtMzV0LTE1IC0zNWwtMjQ5IC0yMzBxLTE0IC0xNCAtMjQuNSAtMTB0LTEwLjUgMjV2MTUwaC0xNTlsLTYwMCAtNjAwaC0yOTFxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMjA5bDYwMCA2MDBoMjQxdjE1MHEwIDIxIDEwLjUgMjV0MjQuNSAtMTB6TTUyMiA4MTlsLTE0MSAtMTQxbC0xMjIgMTIyaC0yMDlxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDI5MXpNMTEzNSA1NjVsMjQ5IC0yMzBxMTUgLTE0IDE1IC0zNXQtMTUgLTM1bC0yNDkgLTIzMHEtMTQgLTE0IC0yNC41IC0xMHQtMTAuNSAyNXYxNTBoLTI0MWwtMTgxIDE4MWwxNDEgMTQxbDEyMiAtMTIyaDE1OXYxNTBxMCAyMSAxMC41IDI1dDI0LjUgLTEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTE7IiBkPSJNMTAwIDExMDBoMTAwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNjAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC01OTZsLTMwNCAtMzAwdjMwMGgtMTAwcS00MSAwIC03MC41IDI5LjV0LTI5LjUgNzAuNXY2MDBxMCA0MSAyOS41IDcwLjV0NzAuNSAyOS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTI7IiBkPSJNMTUwIDEyMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yNTBoLTMwMHYyNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTIwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTI1MGgtMzAwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTExMDAgODAwdi0zMDBxMCAtNDEgLTMgLTc3LjV0LTE1IC04OS41dC0zMiAtOTZ0LTU4IC04OXQtODkgLTc3dC0xMjkgLTUxdC0xNzQgLTIwdC0xNzQgMjAgdC0xMjkgNTF0LTg5IDc3dC01OCA4OXQtMzIgOTZ0LTE1IDg5LjV0LTMgNzcuNXYzMDBoMzAwdi0yNTB2LTI3di00Mi41dDEuNSAtNDF0NSAtMzh0MTAgLTM1dDE2LjUgLTMwdDI1LjUgLTI0LjV0MzUgLTE5dDQ2LjUgLTEydDYwIC00dDYwIDQuNXQ0Ni41IDEyLjV0MzUgMTkuNXQyNSAyNS41dDE3IDMwLjV0MTAgMzV0NSAzOHQyIDQwLjV0LTAuNSA0MnYyNXYyNTBoMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTM7IiBkPSJNMTEwMCA0MTFsLTE5OCAtMTk5bC0zNTMgMzUzbC0zNTMgLTM1M2wtMTk3IDE5OWw1NTEgNTUxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTQ7IiBkPSJNMTEwMSA3ODlsLTU1MCAtNTUxbC01NTEgNTUxbDE5OCAxOTlsMzUzIC0zNTNsMzUzIDM1M3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTE1OyIgZD0iTTQwNCAxMDAwaDc0NnEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTUxaDE1MHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNWwtMjMwIC0yNDlxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI0OXEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNWgxNTB2NDAxaC0zODF6TTEzNSA5ODRsMjMwIC0yNDlxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNWgtMTUwdi00MDBoMzg1bDIxNSAtMjAwaC03NTBxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXY1NTBoLTE1MHEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIzMCAyNDlxMTQgMTUgMzUgMTV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTY7IiBkPSJNNTYgMTIwMGg5NHExNyAwIDMxIC0xMXQxOCAtMjdsMzggLTE2Mmg4OTZxMjQgMCAzOSAtMTguNXQxMCAtNDIuNWwtMTAwIC00NzVxLTUgLTIxIC0yNyAtNDIuNXQtNTUgLTIxLjVoLTYzM2w0OCAtMjAwaDUzNXEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41dC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1MGgtMzAwdi01MCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjV0LTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaC0zMXEtMTggMCAtMzIuNSAxMHQtMjAuNSAxOWwtNSAxMGwtMjAxIDk2MWgtNTRxLTIwIDAgLTM1IDE0LjV0LTE1IDM1LjV0MTUgMzUuNXQzNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTc7IiBkPSJNMTIwMCAxMDAwdi0xMDBoLTEyMDB2MTAwaDIwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMzAwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41aDUwMHpNMCA4MDBoMTIwMHYtODAwaC0xMjAwdjgwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTE4OyIgZD0iTTIwMCA4MDBsLTIwMCAtNDAwdjYwMGgyMDBxMCA0MSAyOS41IDcwLjV0NzAuNSAyOS41aDMwMHE0MiAwIDcxIC0yOS41dDI5IC03MC41aDUwMHYtMjAwaC0xMDAwek0xNTAwIDcwMGwtMzAwIC03MDBoLTEyMDBsMzAwIDcwMGgxMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTk7IiBkPSJNNjM1IDExODRsMjMwIC0yNDlxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNWgtMTUwdi02MDFoMTUwcTIxIDAgMjUgLTEwLjV0LTEwIC0yNC41bC0yMzAgLTI0OXEtMTQgLTE1IC0zNSAtMTV0LTM1IDE1bC0yMzAgMjQ5cS0xNCAxNCAtMTAgMjQuNXQyNSAxMC41aDE1MHY2MDFoLTE1MHEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIzMCAyNDlxMTQgMTUgMzUgMTV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMjA7IiBkPSJNOTM2IDg2NGwyNDkgLTIyOXExNCAtMTUgMTQgLTM1LjV0LTE0IC0zNS41bC0yNDkgLTIyOXEtMTUgLTE1IC0yNS41IC0xMC41dC0xMC41IDI0LjV2MTUxaC02MDB2LTE1MXEwIC0yMCAtMTAuNSAtMjQuNXQtMjUuNSAxMC41bC0yNDkgMjI5cS0xNCAxNSAtMTQgMzUuNXQxNCAzNS41bDI0OSAyMjlxMTUgMTUgMjUuNSAxMC41dDEwLjUgLTI1LjV2LTE0OWg2MDB2MTQ5cTAgMjEgMTAuNSAyNS41dDI1LjUgLTEwLjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyMTsiIGQ9Ik0xMTY5IDQwMGwtMTcyIDczMnEtNSAyMyAtMjMgNDUuNXQtMzggMjIuNWgtNjcycS0yMCAwIC0zOCAtMjB0LTIzIC00MWwtMTcyIC03MzloMTEzOHpNMTEwMCAzMDBoLTEwMDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTEwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoMTAwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2MTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41ek04MDAgMTAwdjEwMGgxMDB2LTEwMGgtMTAwIHpNMTAwMCAxMDB2MTAwaDEwMHYtMTAwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyMjsiIGQ9Ik0xMTUwIDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTg1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNXQtMzUuNSAxNC41dC0xNC41IDM1LjV2ODUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTAwMCAyMDBsLTY3NSAyMDBoLTM4bDQ3IC0yNzZxMyAtMTYgLTUuNSAtMjB0LTI5LjUgLTRoLTdoLTg0cS0yMCAwIC0zNC41IDE0dC0xOC41IDM1cS01NSAzMzcgLTU1IDM1MXYyNTB2NnEwIDE2IDEgMjMuNXQ2LjUgMTQgdDE3LjUgNi41aDIwMGw2NzUgMjUwdi04NTB6TTAgNzUwdi0yNTBxLTQgMCAtMTEgMC41dC0yNCA2dC0zMCAxNXQtMjQgMzB0LTExIDQ4LjV2NTBxMCAyNiAxMC41IDQ2dDI1IDMwdDI5IDE2dDI1LjUgN3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTIzOyIgZD0iTTU1MyAxMjAwaDk0cTIwIDAgMjkgLTEwLjV0MyAtMjkuNWwtMTggLTM3cTgzIC0xOSAxNDQgLTgyLjV0NzYgLTE0MC41bDYzIC0zMjdsMTE4IC0xNzNoMTdxMTkgMCAzMyAtMTQuNXQxNCAtMzV0LTEzIC00MC41dC0zMSAtMjdxLTggLTQgLTIzIC05LjV0LTY1IC0xOS41dC0xMDMgLTI1dC0xMzIuNSAtMjB0LTE1OC41IC05cS01NyAwIC0xMTUgNXQtMTA0IDEydC04OC41IDE1LjV0LTczLjUgMTcuNXQtNTQuNSAxNnQtMzUuNSAxMmwtMTEgNCBxLTE4IDggLTMxIDI4dC0xMyA0MC41dDE0IDM1dDMzIDE0LjVoMTdsMTE4IDE3M2w2MyAzMjdxMTUgNzcgNzYgMTQwdDE0NCA4M2wtMTggMzJxLTYgMTkgMy41IDMydDI4LjUgMTN6TTQ5OCAxMTBxNTAgLTYgMTAyIC02cTUzIDAgMTAyIDZxLTEyIC00OSAtMzkuNSAtNzkuNXQtNjIuNSAtMzAuNXQtNjMgMzAuNXQtMzkgNzkuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTI0OyIgZD0iTTgwMCA5NDZsMjI0IDc4bC03OCAtMjI0bDIzNCAtNDVsLTE4MCAtMTU1bDE4MCAtMTU1bC0yMzQgLTQ1bDc4IC0yMjRsLTIyNCA3OGwtNDUgLTIzNGwtMTU1IDE4MGwtMTU1IC0xODBsLTQ1IDIzNGwtMjI0IC03OGw3OCAyMjRsLTIzNCA0NWwxODAgMTU1bC0xODAgMTU1bDIzNCA0NWwtNzggMjI0bDIyNCAtNzhsNDUgMjM0bDE1NSAtMTgwbDE1NSAxODB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyNTsiIGQ9Ik02NTAgMTIwMGg1MHE0MCAwIDcwIC00MC41dDMwIC04NC41di0xNTBsLTI4IC0xMjVoMzI4cTQwIDAgNzAgLTQwLjV0MzAgLTg0LjV2LTEwMHEwIC00NSAtMjkgLTc0bC0yMzggLTM0NHEtMTYgLTI0IC0zOCAtNDAuNXQtNDUgLTE2LjVoLTI1MHEtNyAwIC00MiAyNXQtNjYgNTBsLTMxIDI1aC02MXEtNDUgMCAtNzIuNSAxOHQtMjcuNSA1N3Y0MDBxMCAzNiAyMCA2M2wxNDUgMTk2bDk2IDE5OHExMyAyOCAzNy41IDQ4dDUxLjUgMjB6IE02NTAgMTEwMGwtMTAwIC0yMTJsLTE1MCAtMjEzdi0zNzVoMTAwbDEzNiAtMTAwaDIxNGwyNTAgMzc1djEyNWgtNDUwbDUwIDIyNXYxNzVoLTUwek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTI2OyIgZD0iTTYwMCAxMTAwaDI1MHEyMyAwIDQ1IC0xNi41dDM4IC00MC41bDIzOCAtMzQ0cTI5IC0yOSAyOSAtNzR2LTEwMHEwIC00NCAtMzAgLTg0LjV0LTcwIC00MC41aC0zMjhxMjggLTExOCAyOCAtMTI1di0xNTBxMCAtNDQgLTMwIC04NC41dC03MCAtNDAuNWgtNTBxLTI3IDAgLTUxLjUgMjB0LTM3LjUgNDhsLTk2IDE5OGwtMTQ1IDE5NnEtMjAgMjcgLTIwIDYzdjQwMHEwIDM5IDI3LjUgNTd0NzIuNSAxOGg2MXExMjQgMTAwIDEzOSAxMDB6IE01MCAxMDAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTYzNiAxMDAwbC0xMzYgLTEwMGgtMTAwdi0zNzVsMTUwIC0yMTNsMTAwIC0yMTJoNTB2MTc1bC01MCAyMjVoNDUwdjEyNWwtMjUwIDM3NWgtMjE0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMjc7IiBkPSJNMzU2IDg3M2wzNjMgMjMwcTMxIDE2IDUzIC02bDExMCAtMTEycTEzIC0xMyAxMy41IC0zMnQtMTEuNSAtMzRsLTg0IC0xMjFoMzAycTg0IDAgMTM4IC0zOHQ1NCAtMTEwdC01NSAtMTExdC0xMzkgLTM5aC0xMDZsLTEzMSAtMzM5cS02IC0yMSAtMTkuNSAtNDF0LTI4LjUgLTIwaC0zNDJxLTcgMCAtOTAgODF0LTgzIDk0djUyNXEwIDE3IDE0IDM1LjV0MjggMjguNXpNNDAwIDc5MnYtNTAzbDEwMCAtODloMjkzbDEzMSAzMzkgcTYgMjEgMTkuNSA0MXQyOC41IDIwaDIwM3EyMSAwIDMwLjUgMjV0MC41IDUwdC0zMSAyNWgtNDU2aC03aC02aC01LjV0LTYgMC41dC01IDEuNXQtNSAydC00IDIuNXQtNCA0dC0yLjUgNC41cS0xMiAyNSA1IDQ3bDE0NiAxODNsLTg2IDgzek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NTAwIHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyODsiIGQ9Ik00NzUgMTEwM2wzNjYgLTIzMHEyIC0xIDYgLTMuNXQxNCAtMTAuNXQxOCAtMTYuNXQxNC41IC0yMHQ2LjUgLTIyLjV2LTUyNXEwIC0xMyAtODYgLTk0dC05MyAtODFoLTM0MnEtMTUgMCAtMjguNSAyMHQtMTkuNSA0MWwtMTMxIDMzOWgtMTA2cS04NSAwIC0xMzkuNSAzOXQtNTQuNSAxMTF0NTQgMTEwdDEzOCAzOGgzMDJsLTg1IDEyMXEtMTEgMTUgLTEwLjUgMzR0MTMuNSAzMmwxMTAgMTEycTIyIDIyIDUzIDZ6TTM3MCA5NDVsMTQ2IC0xODMgcTE3IC0yMiA1IC00N3EtMiAtMiAtMy41IC00LjV0LTQgLTR0LTQgLTIuNXQtNSAtMnQtNSAtMS41dC02IC0wLjVoLTZoLTYuNWgtNmgtNDc1di0xMDBoMjIxcTE1IDAgMjkgLTIwdDIwIC00MWwxMzAgLTMzOWgyOTRsMTA2IDg5djUwM2wtMzQyIDIzNnpNMTA1MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjUgdjUwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyOTsiIGQ9Ik01NTAgMTI5NHE3MiAwIDExMSAtNTV0MzkgLTEzOXYtMTA2bDMzOSAtMTMxcTIxIC02IDQxIC0xOS41dDIwIC0yOC41di0zNDJxMCAtNyAtODEgLTkwdC05NCAtODNoLTUyNXEtMTcgMCAtMzUuNSAxNHQtMjguNSAyOGwtOSAxNGwtMjMwIDM2M3EtMTYgMzEgNiA1M2wxMTIgMTEwcTEzIDEzIDMyIDEzLjV0MzQgLTExLjVsMTIxIC04NHYzMDJxMCA4NCAzOCAxMzh0MTEwIDU0ek02MDAgOTcydjIwM3EwIDIxIC0yNSAzMC41dC01MCAwLjUgdC0yNSAtMzF2LTQ1NnYtN3YtNnYtNS41dC0wLjUgLTZ0LTEuNSAtNXQtMiAtNXQtMi41IC00dC00IC00dC00LjUgLTIuNXEtMjUgLTEyIC00NyA1bC0xODMgMTQ2bC04MyAtODZsMjM2IC0zMzloNTAzbDg5IDEwMHYyOTNsLTMzOSAxMzFxLTIxIDYgLTQxIDE5LjV0LTIwIDI4LjV6TTQ1MCAyMDBoNTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTUwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMDsiIGQ9Ik0zNTAgMTEwMGg1MDBxMjEgMCAzNS41IDE0LjV0MTQuNSAzNS41djEwMHEwIDIxIC0xNC41IDM1LjV0LTM1LjUgMTQuNWgtNTAwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xMDBxMCAtMjEgMTQuNSAtMzUuNXQzNS41IC0xNC41ek02MDAgMzA2di0xMDZxMCAtODQgLTM5IC0xMzl0LTExMSAtNTV0LTExMCA1NHQtMzggMTM4djMwMmwtMTIxIC04NHEtMTUgLTEyIC0zNCAtMTEuNXQtMzIgMTMuNWwtMTEyIDExMCBxLTIyIDIyIC02IDUzbDIzMCAzNjNxMSAyIDMuNSA2dDEwLjUgMTMuNXQxNi41IDE3dDIwIDEzLjV0MjIuNSA2aDUyNXExMyAwIDk0IC04M3Q4MSAtOTB2LTM0MnEwIC0xNSAtMjAgLTI4LjV0LTQxIC0xOS41ek0zMDggOTAwbC0yMzYgLTMzOWw4MyAtODZsMTgzIDE0NnEyMiAxNyA0NyA1cTIgLTEgNC41IC0yLjV0NCAtNHQyLjUgLTR0MiAtNXQxLjUgLTV0MC41IC02di01LjV2LTZ2LTd2LTQ1NnEwIC0yMiAyNSAtMzF0NTAgMC41dDI1IDMwLjUgdjIwM3EwIDE1IDIwIDI4LjV0NDEgMTkuNWwzMzkgMTMxdjI5M2wtODkgMTAwaC01MDN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMTsiIGQ9Ik02MDAgMTE3OHExMTggMCAyMjUgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNXQtNDUuNSAtMjI1dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjUgLTQ1LjV0LTIyNSA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjV0NDUuNSAyMjV0MTIzIDE4NC41dDE4NC41IDEyM3QyMjUgNDUuNXpNOTE0IDYzMmwtMjc1IDIyM3EtMTYgMTMgLTI3LjUgOHQtMTEuNSAtMjZ2LTEzN2gtMjc1IHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTE1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDI3NXYtMTM3cTAgLTIxIDExLjUgLTI2dDI3LjUgOGwyNzUgMjIzcTE2IDEzIDE2IDMydC0xNiAzMnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTMyOyIgZD0iTTYwMCAxMTc4cTExOCAwIDIyNSAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI1dC00NS41IC0yMjV0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNSAtNDUuNXQtMjI1IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNXQ0NS41IDIyNXQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNSA0NS41ek01NjEgODU1bC0yNzUgLTIyM3EtMTYgLTEzIC0xNiAtMzJ0MTYgLTMybDI3NSAtMjIzcTE2IC0xMyAyNy41IC04IHQxMS41IDI2djEzN2gyNzVxMTAgMCAxNy41IDcuNXQ3LjUgMTcuNXYxNTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41aC0yNzV2MTM3cTAgMjEgLTExLjUgMjZ0LTI3LjUgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMzsiIGQ9Ik02MDAgMTE3OHExMTggMCAyMjUgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNXQtNDUuNSAtMjI1dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjUgLTQ1LjV0LTIyNSA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjV0NDUuNSAyMjV0MTIzIDE4NC41dDE4NC41IDEyM3QyMjUgNDUuNXpNODU1IDYzOWwtMjIzIDI3NXEtMTMgMTYgLTMyIDE2dC0zMiAtMTZsLTIyMyAtMjc1cS0xMyAtMTYgLTggLTI3LjUgdDI2IC0xMS41aDEzN3YtMjc1cTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2Mjc1aDEzN3EyMSAwIDI2IDExLjV0LTggMjcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTM0OyIgZD0iTTYwMCAxMTc4cTExOCAwIDIyNSAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI1dC00NS41IC0yMjV0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNSAtNDUuNXQtMjI1IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNXQ0NS41IDIyNXQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNSA0NS41ek02NzUgOTAwaC0xNTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di0yNzVoLTEzN3EtMjEgMCAtMjYgLTExLjUgdDggLTI3LjVsMjIzIC0yNzVxMTMgLTE2IDMyIC0xNnQzMiAxNmwyMjMgMjc1cTEzIDE2IDggMjcuNXQtMjYgMTEuNWgtMTM3djI3NXEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzNTsiIGQ9Ik02MDAgMTE3NnExMTYgMCAyMjIuNSAtNDZ0MTg0IC0xMjMuNXQxMjMuNSAtMTg0dDQ2IC0yMjIuNXQtNDYgLTIyMi41dC0xMjMuNSAtMTg0dC0xODQgLTEyMy41dC0yMjIuNSAtNDZ0LTIyMi41IDQ2dC0xODQgMTIzLjV0LTEyMy41IDE4NHQtNDYgMjIyLjV0NDYgMjIyLjV0MTIzLjUgMTg0dDE4NCAxMjMuNXQyMjIuNSA0NnpNNjI3IDExMDFxLTE1IC0xMiAtMzYuNSAtMjAuNXQtMzUuNSAtMTJ0LTQzIC04dC0zOSAtNi41IHEtMTUgLTMgLTQ1LjUgMHQtNDUuNSAtMnEtMjAgLTcgLTUxLjUgLTI2LjV0LTM0LjUgLTM0LjVxLTMgLTExIDYuNSAtMjIuNXQ4LjUgLTE4LjVxLTMgLTM0IC0yNy41IC05MXQtMjkuNSAtNzlxLTkgLTM0IDUgLTkzdDggLTg3cTAgLTkgMTcgLTQ0LjV0MTYgLTU5LjVxMTIgMCAyMyAtNXQyMy41IC0xNXQxOS41IC0xNHExNiAtOCAzMyAtMTV0NDAuNSAtMTV0MzQuNSAtMTJxMjEgLTkgNTIuNSAtMzJ0NjAgLTM4dDU3LjUgLTExIHE3IC0xNSAtMyAtMzR0LTIyLjUgLTQwdC05LjUgLTM4cTEzIC0yMSAyMyAtMzQuNXQyNy41IC0yNy41dDM2LjUgLTE4cTAgLTcgLTMuNSAtMTZ0LTMuNSAtMTR0NSAtMTdxMTA0IC0yIDIyMSAxMTJxMzAgMjkgNDYuNSA0N3QzNC41IDQ5dDIxIDYzcS0xMyA4IC0zNyA4LjV0LTM2IDcuNXEtMTUgNyAtNDkuNSAxNXQtNTEuNSAxOXEtMTggMCAtNDEgLTAuNXQtNDMgLTEuNXQtNDIgLTYuNXQtMzggLTE2LjVxLTUxIC0zNSAtNjYgLTEyIHEtNCAxIC0zLjUgMjUuNXQwLjUgMjUuNXEtNiAxMyAtMjYuNSAxNy41dC0yNC41IDYuNXExIDE1IC0wLjUgMzAuNXQtNyAyOHQtMTguNSAxMS41dC0zMSAtMjFxLTIzIC0yNSAtNDIgNHEtMTkgMjggLTggNThxNiAxNiAyMiAyMnE2IC0xIDI2IC0xLjV0MzMuNSAtNHQxOS41IC0xMy41cTcgLTEyIDE4IC0yNHQyMS41IC0yMC41dDIwIC0xNXQxNS41IC0xMC41bDUgLTNxMiAxMiA3LjUgMzAuNXQ4IDM0LjV0LTAuNSAzMnEtMyAxOCAzLjUgMjkgdDE4IDIyLjV0MTUuNSAyNC41cTYgMTQgMTAuNSAzNXQ4IDMxdDE1LjUgMjIuNXQzNCAyMi41cS02IDE4IDEwIDM2cTggMCAyNCAtMS41dDI0LjUgLTEuNXQyMCA0LjV0MjAuNSAxNS41cS0xMCAyMyAtMzEgNDIuNXQtMzcuNSAyOS41dC00OSAyN3QtNDMuNSAyM3EwIDEgMiA4dDMgMTEuNXQxLjUgMTAuNXQtMSA5LjV0LTQuNSA0LjVxMzEgLTEzIDU4LjUgLTE0LjV0MzguNSAyLjVsMTIgNXE1IDI4IC05LjUgNDZ0LTM2LjUgMjR0LTUwIDE1IHQtNDEgMjBxLTE4IC00IC0zNyAwek02MTMgOTk0cTAgLTE3IDggLTQydDE3IC00NXQ5IC0yM3EtOCAxIC0zOS41IDUuNXQtNTIuNSAxMHQtMzcgMTYuNXEzIDExIDE2IDI5LjV0MTYgMjUuNXExMCAtMTAgMTkgLTEwdDE0IDZ0MTMuNSAxNC41dDE2LjUgMTIuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTM2OyIgZD0iTTc1NiAxMTU3cTE2NCA5MiAzMDYgLTlsLTI1OSAtMTM4bDE0NSAtMjMybDI1MSAxMjZxNiAtODkgLTM0IC0xNTYuNXQtMTE3IC0xMTAuNXEtNjAgLTM0IC0xMjcgLTM5LjV0LTEyNiAxNi41bC01OTYgLTU5NnEtMTUgLTE2IC0zNi41IC0xNnQtMzYuNSAxNmwtMTExIDExMHEtMTUgMTUgLTE1IDM2LjV0MTUgMzcuNWw2MDAgNTk5cS0zNCAxMDEgNS41IDIwMS41dDEzNS41IDE1NC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMzc7IiBob3Jpei1hZHYteD0iMTIyMCIgZD0iTTEwMCAxMTk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNMTEwMCAxMDk2aC0yMDB2LTEwMGgyMDB2MTAwek0xMDAgNzk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMCBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djEwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTExMDAgNjk2aC01MDB2LTEwMGg1MDB2MTAwek0xMDAgMzk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNMTEwMCAyOTZoLTMwMHYtMTAwaDMwMHYxMDB6ICIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMzg7IiBkPSJNMTUwIDEyMDBoOTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41dC0xNC41IC0zNS41dC0zNS41IC0xNC41aC05MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTcwMCA1MDB2LTMwMGwtMjAwIC0yMDB2NTAwbC0zNTAgNTAwaDkwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTM5OyIgZD0iTTUwMCAxMjAwaDIwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtMTAwaDMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNDAwaC01MDB2MTAwaC0yMDB2LTEwMGgtNTAwdjQwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMzAwdjEwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTUwMCAxMTAwdi0xMDBoMjAwdjEwMGgtMjAwek0xMjAwIDQwMHYtMjAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC0xMDAwIHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MjAwaDEyMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0MDsiIGQ9Ik01MCAxMjAwaDMwMHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNWwtOTQgLTk0bDE5OSAtMTk5cTcgLTggNyAtMTh0LTcgLTE4bC0xMDYgLTEwNnEtOCAtNyAtMTggLTd0LTE4IDdsLTE5OSAxOTlsLTk0IC05NHEtMTQgLTE0IC0yNC41IC0xMHQtMTAuNSAyNXYzMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTIwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTk0IDk0IGwtMTk5IC0xOTlxLTggLTcgLTE4IC03dC0xOCA3bC0xMDYgMTA2cS03IDggLTcgMTh0NyAxOGwxOTkgMTk5bC05NCA5NHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXpNMzY0IDQ3MGwxMDYgLTEwNnE3IC04IDcgLTE4dC03IC0xOGwtMTk5IC0xOTlsOTQgLTk0cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTMwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MzAwcTAgMjEgMTAuNSAyNXQyNC41IC0xMGw5NCAtOTRsMTk5IDE5OSBxOCA3IDE4IDd0MTggLTd6TTEwNzEgMjcxbDk0IDk0cTE0IDE0IDI0LjUgMTB0MTAuNSAtMjV2LTMwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0yNSAxMC41dDEwIDI0LjVsOTQgOTRsLTE5OSAxOTlxLTcgOCAtNyAxOHQ3IDE4bDEwNiAxMDZxOCA3IDE4IDd0MTggLTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0MTsiIGQ9Ik01OTYgMTE5MnExMjEgMCAyMzEuNSAtNDcuNXQxOTAgLTEyN3QxMjcgLTE5MHQ0Ny41IC0yMzEuNXQtNDcuNSAtMjMxLjV0LTEyNyAtMTkwLjV0LTE5MCAtMTI3dC0yMzEuNSAtNDd0LTIzMS41IDQ3dC0xOTAuNSAxMjd0LTEyNyAxOTAuNXQtNDcgMjMxLjV0NDcgMjMxLjV0MTI3IDE5MHQxOTAuNSAxMjd0MjMxLjUgNDcuNXpNNTk2IDEwMTBxLTExMiAwIC0yMDcuNSAtNTUuNXQtMTUxIC0xNTF0LTU1LjUgLTIwNy41dDU1LjUgLTIwNy41IHQxNTEgLTE1MXQyMDcuNSAtNTUuNXQyMDcuNSA1NS41dDE1MSAxNTF0NTUuNSAyMDcuNXQtNTUuNSAyMDcuNXQtMTUxIDE1MXQtMjA3LjUgNTUuNXpNNDU0LjUgOTA1cTIyLjUgMCAzOC41IC0xNnQxNiAtMzguNXQtMTYgLTM5dC0zOC41IC0xNi41dC0zOC41IDE2LjV0LTE2IDM5dDE2IDM4LjV0MzguNSAxNnpNNzU0LjUgOTA1cTIyLjUgMCAzOC41IC0xNnQxNiAtMzguNXQtMTYgLTM5dC0zOCAtMTYuNXEtMTQgMCAtMjkgMTBsLTU1IC0xNDUgcTE3IC0yMyAxNyAtNTFxMCAtMzYgLTI1LjUgLTYxLjV0LTYxLjUgLTI1LjV0LTYxLjUgMjUuNXQtMjUuNSA2MS41cTAgMzIgMjAuNSA1Ni41dDUxLjUgMjkuNWwxMjIgMTI2bDEgMXEtOSAxNCAtOSAyOHEwIDIzIDE2IDM5dDM4LjUgMTZ6TTM0NS41IDcwOXEyMi41IDAgMzguNSAtMTZ0MTYgLTM4LjV0LTE2IC0zOC41dC0zOC41IC0xNnQtMzguNSAxNnQtMTYgMzguNXQxNiAzOC41dDM4LjUgMTZ6TTg1NC41IDcwOXEyMi41IDAgMzguNSAtMTYgdDE2IC0zOC41dC0xNiAtMzguNXQtMzguNSAtMTZ0LTM4LjUgMTZ0LTE2IDM4LjV0MTYgMzguNXQzOC41IDE2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDI7IiBkPSJNNTQ2IDE3M2w0NjkgNDcwcTkxIDkxIDk5IDE5MnE3IDk4IC01MiAxNzUuNXQtMTU0IDk0LjVxLTIyIDQgLTQ3IDRxLTM0IDAgLTY2LjUgLTEwdC01Ni41IC0yM3QtNTUuNSAtMzh0LTQ4IC00MS41dC00OC41IC00Ny41cS0zNzYgLTM3NSAtMzkxIC0zOTBxLTMwIC0yNyAtNDUgLTQxLjV0LTM3LjUgLTQxdC0zMiAtNDYuNXQtMTYgLTQ3LjV0LTEuNSAtNTYuNXE5IC02MiA1My41IC05NXQ5OS41IC0zM3E3NCAwIDEyNSA1MWw1NDggNTQ4IHEzNiAzNiAyMCA3NXEtNyAxNiAtMjEuNSAyNnQtMzIuNSAxMHEtMjYgMCAtNTAgLTIzcS0xMyAtMTIgLTM5IC0zOGwtMzQxIC0zMzhxLTE1IC0xNSAtMzUuNSAtMTUuNXQtMzQuNSAxMy41dC0xNCAzNC41dDE0IDM0LjVxMzI3IDMzMyAzNjEgMzY3cTM1IDM1IDY3LjUgNTEuNXQ3OC41IDE2LjVxMTQgMCAyOSAtMXE0NCAtOCA3NC41IC0zNS41dDQzLjUgLTY4LjVxMTQgLTQ3IDIgLTk2LjV0LTQ3IC04NC41cS0xMiAtMTEgLTMyIC0zMiB0LTc5LjUgLTgxdC0xMTQuNSAtMTE1dC0xMjQuNSAtMTIzLjV0LTEyMyAtMTE5LjV0LTk2LjUgLTg5dC01NyAtNDVxLTU2IC0yNyAtMTIwIC0yN3EtNzAgMCAtMTI5IDMydC05MyA4OXEtNDggNzggLTM1IDE3M3Q4MSAxNjNsNTExIDUxMXE3MSA3MiAxMTEgOTZxOTEgNTUgMTk4IDU1cTgwIDAgMTUyIC0zM3E3OCAtMzYgMTI5LjUgLTEwM3Q2Ni41IC0xNTRxMTcgLTkzIC0xMSAtMTgzLjV0LTk0IC0xNTYuNWwtNDgyIC00NzYgcS0xNSAtMTUgLTM2IC0xNnQtMzcgMTR0LTE3LjUgMzR0MTQuNSAzNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTQzOyIgZD0iTTY0OSA5NDlxNDggNjggMTA5LjUgMTA0dDEyMS41IDM4LjV0MTE4LjUgLTIwdDEwMi41IC02NHQ3MSAtMTAwLjV0MjcgLTEyM3EwIC01NyAtMzMuNSAtMTE3LjV0LTk0IC0xMjQuNXQtMTI2LjUgLTEyNy41dC0xNTAgLTE1Mi41dC0xNDYgLTE3NHEtNjIgODUgLTE0NS41IDE3NHQtMTUwIDE1Mi41dC0xMjYuNSAxMjcuNXQtOTMuNSAxMjQuNXQtMzMuNSAxMTcuNXEwIDY0IDI4IDEyM3Q3MyAxMDAuNXQxMDQgNjR0MTE5IDIwIHQxMjAuNSAtMzguNXQxMDQuNSAtMTA0ek04OTYgOTcycS0zMyAwIC02NC41IC0xOXQtNTYuNSAtNDZ0LTQ3LjUgLTUzLjV0LTQzLjUgLTQ1LjV0LTM3LjUgLTE5dC0zNiAxOXQtNDAgNDUuNXQtNDMgNTMuNXQtNTQgNDZ0LTY1LjUgMTlxLTY3IDAgLTEyMi41IC01NS41dC01NS41IC0xMzIuNXEwIC0yMyAxMy41IC01MXQ0NiAtNjV0NTcuNSAtNjN0NzYgLTc1bDIyIC0yMnExNSAtMTQgNDQgLTQ0dDUwLjUgLTUxdDQ2IC00NHQ0MSAtMzV0MjMgLTEyIHQyMy41IDEydDQyLjUgMzZ0NDYgNDR0NTIuNSA1MnQ0NCA0M3E0IDQgMTIgMTNxNDMgNDEgNjMuNSA2MnQ1MiA1NXQ0NiA1NXQyNiA0NnQxMS41IDQ0cTAgNzkgLTUzIDEzMy41dC0xMjAgNTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTQ0OyIgZD0iTTc3Ni41IDEyMTRxOTMuNSAwIDE1OS41IC02NmwxNDEgLTE0MXE2NiAtNjYgNjYgLTE2MHEwIC00MiAtMjggLTk1LjV0LTYyIC04Ny41bC0yOSAtMjlxLTMxIDUzIC03NyA5OWwtMTggMThsOTUgOTVsLTI0NyAyNDhsLTM4OSAtMzg5bDIxMiAtMjEybC0xMDUgLTEwNmwtMTkgMThsLTE0MSAxNDFxLTY2IDY2IC02NiAxNTl0NjYgMTU5bDI4MyAyODNxNjUgNjYgMTU4LjUgNjZ6TTYwMCA3MDZsMTA1IDEwNXExMCAtOCAxOSAtMTdsMTQxIC0xNDEgcTY2IC02NiA2NiAtMTU5dC02NiAtMTU5bC0yODMgLTI4M3EtNjYgLTY2IC0xNTkgLTY2dC0xNTkgNjZsLTE0MSAxNDFxLTY2IDY2IC02NiAxNTkuNXQ2NiAxNTkuNWw1NSA1NXEyOSAtNTUgNzUgLTEwMmwxOCAtMTdsLTk1IC05NWwyNDcgLTI0OGwzODkgMzg5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDU7IiBkPSJNNjAzIDEyMDBxODUgMCAxNjIgLTE1dDEyNyAtMzh0NzkgLTQ4dDI5IC00NnYtOTUzcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC02MDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djk1M3EwIDIxIDMwIDQ2LjV0ODEgNDh0MTI5IDM3LjV0MTYzIDE1ek0zMDAgMTAwMHYtNzAwaDYwMHY3MDBoLTYwMHpNNjAwIDI1NHEtNDMgMCAtNzMuNSAtMzAuNXQtMzAuNSAtNzMuNXQzMC41IC03My41dDczLjUgLTMwLjV0NzMuNSAzMC41IHQzMC41IDczLjV0LTMwLjUgNzMuNXQtNzMuNSAzMC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDY7IiBkPSJNOTAyIDExODVsMjgzIC0yODJxMTUgLTE1IDE1IC0zNnQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNXQtMzUgMTVsLTM2IDM1bC0yNzkgLTI2N3YtMzAwbC0yMTIgMjEwbC0zMDggLTMwN2wtMjgwIC0yMDNsMjAzIDI4MGwzMDcgMzA4bC0yMTAgMjEyaDMwMGwyNjcgMjc5bC0zNSAzNnEtMTUgMTQgLTE1IDM1dDE0LjUgMzUuNXQzNS41IDE0LjV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDg7IiBkPSJNNzAwIDEyNDh2LTc4cTM4IC01IDcyLjUgLTE0LjV0NzUuNSAtMzEuNXQ3MSAtNTMuNXQ1MiAtODR0MjQgLTExOC41aC0xNTlxLTQgMzYgLTEwLjUgNTl0LTIxIDQ1dC00MCAzNS41dC02NC41IDIwLjV2LTMwN2w2NCAtMTNxMzQgLTcgNjQgLTE2LjV0NzAgLTMydDY3LjUgLTUyLjV0NDcuNSAtODB0MjAgLTExMnEwIC0xMzkgLTg5IC0yMjR0LTI0NCAtOTd2LTc3aC0xMDB2NzlxLTE1MCAxNiAtMjM3IDEwM3EtNDAgNDAgLTUyLjUgOTMuNSB0LTE1LjUgMTM5LjVoMTM5cTUgLTc3IDQ4LjUgLTEyNnQxMTcuNSAtNjV2MzM1bC0yNyA4cS00NiAxNCAtNzkgMjYuNXQtNzIgMzZ0LTYzIDUydC00MCA3Mi41dC0xNiA5OHEwIDcwIDI1IDEyNnQ2Ny41IDkydDk0LjUgNTd0MTEwIDI3djc3aDEwMHpNNjAwIDc1NHYyNzRxLTI5IC00IC01MCAtMTF0LTQyIC0yMS41dC0zMS41IC00MS41dC0xMC41IC02NXEwIC0yOSA3IC01MC41dDE2LjUgLTM0dDI4LjUgLTIyLjV0MzEuNSAtMTR0MzcuNSAtMTAgcTkgLTMgMTMgLTR6TTcwMCA1NDd2LTMxMHEyMiAyIDQyLjUgNi41dDQ1IDE1LjV0NDEuNSAyN3QyOSA0MnQxMiA1OS41dC0xMi41IDU5LjV0LTM4IDQ0LjV0LTUzIDMxdC02Ni41IDI0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0OTsiIGQ9Ik01NjEgMTE5N3E4NCAwIDE2MC41IC00MHQxMjMuNSAtMTA5LjV0NDcgLTE0Ny41aC0xNTNxMCA0MCAtMTkuNSA3MS41dC00OS41IDQ4LjV0LTU5LjUgMjZ0LTU1LjUgOXEtMzcgMCAtNzkgLTE0LjV0LTYyIC0zNS41cS00MSAtNDQgLTQxIC0xMDFxMCAtMjYgMTMuNSAtNjN0MjYuNSAtNjF0MzcgLTY2cTYgLTkgOSAtMTRoMjQxdi0xMDBoLTE5N3E4IC01MCAtMi41IC0xMTV0LTMxLjUgLTk1cS00NSAtNjIgLTk5IC0xMTIgcTM0IDEwIDgzIDE3LjV0NzEgNy41cTMyIDEgMTAyIC0xNnQxMDQgLTE3cTgzIDAgMTM2IDMwbDUwIC0xNDdxLTMxIC0xOSAtNTggLTMwLjV0LTU1IC0xNS41dC00MiAtNC41dC00NiAtMC41cS0yMyAwIC03NiAxN3QtMTExIDMyLjV0LTk2IDExLjVxLTM5IC0zIC04MiAtMTZ0LTY3IC0yNWwtMjMgLTExbC01NSAxNDVxNCAzIDE2IDExdDE1LjUgMTAuNXQxMyA5dDE1LjUgMTJ0MTQuNSAxNHQxNy41IDE4LjVxNDggNTUgNTQgMTI2LjUgdC0zMCAxNDIuNWgtMjIxdjEwMGgxNjZxLTIzIDQ3IC00NCAxMDRxLTcgMjAgLTEyIDQxLjV0LTYgNTUuNXQ2IDY2LjV0MjkuNSA3MC41dDU4LjUgNzFxOTcgODggMjYzIDg4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTA7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTkzNSAxMTg0bDIzMCAtMjQ5cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTE1MHYtOTAwaC0yMDB2OTAwaC0xNTBxLTIxIDAgLTI1IDEwLjV0MTAgMjQuNWwyMzAgMjQ5cTE0IDE1IDM1IDE1dDM1IC0xNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTUxOyIgZD0iTTEwMDAgNzAwaC0xMDB2MTAwaC0xMDB2LTEwMGgtMTAwdjUwMGgzMDB2LTUwMHpNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTgwMSAxMTAwdi0yMDBoMTAwdjIwMGgtMTAwek0xMDAwIDM1MGwtMjAwIC0yNTBoMjAwdi0xMDBoLTMwMHYxNTBsMjAwIDI1MGgtMjAwdjEwMGgzMDB2LTE1MHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE1MjsiIGQ9Ik00MDAgMzAwaDE1MHEyMSAwIDI1IC0xMXQtMTAgLTI1bC0yMzAgLTI1MHEtMTQgLTE1IC0zNSAtMTV0LTM1IDE1bC0yMzAgMjUwcS0xNCAxNCAtMTAgMjV0MjUgMTFoMTUwdjkwMGgyMDB2LTkwMHpNMTAwMCAxMDUwbC0yMDAgLTI1MGgyMDB2LTEwMGgtMzAwdjE1MGwyMDAgMjUwaC0yMDB2MTAwaDMwMHYtMTUwek0xMDAwIDBoLTEwMHYxMDBoLTEwMHYtMTAwaC0xMDB2NTAwaDMwMHYtNTAwek04MDEgNDAwdi0yMDBoMTAwdjIwMGgtMTAweiAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTUzOyIgZD0iTTQwMCAzMDBoMTUwcTIxIDAgMjUgLTExdC0xMCAtMjVsLTIzMCAtMjUwcS0xNCAtMTUgLTM1IC0xNXQtMzUgMTVsLTIzMCAyNTBxLTE0IDE0IC0xMCAyNXQyNSAxMWgxNTB2OTAwaDIwMHYtOTAwek0xMDAwIDcwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNMTEwMCAwaC0xMDB2MTAwaC0yMDB2NDAwaDMwMHYtNTAwek05MDEgNDAwdi0yMDBoMTAwdjIwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTQ7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTExMDAgNzAwaC0xMDB2MTAwaC0yMDB2NDAwaDMwMHYtNTAwek05MDEgMTEwMHYtMjAwaDEwMHYyMDBoLTEwMHpNMTAwMCAwaC0xMDB2NDAwaC0xMDB2MTAwaDIwMHYtNTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTU7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTkwMCAxMDAwaC0yMDB2MjAwaDIwMHYtMjAwek0xMDAwIDcwMGgtMzAwdjIwMGgzMDB2LTIwMHpNMTEwMCA0MDBoLTQwMHYyMDBoNDAwdi0yMDB6TTEyMDAgMTAwaC01MDB2MjAwaDUwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTY7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTEyMDAgMTAwMGgtNTAwdjIwMGg1MDB2LTIwMHpNMTEwMCA3MDBoLTQwMHYyMDBoNDAwdi0yMDB6TTEwMDAgNDAwaC0zMDB2MjAwaDMwMHYtMjAwek05MDAgMTAwaC0yMDB2MjAwaDIwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTc7IiBkPSJNMzUwIDExMDBoNDAwcTE2MiAwIDI1NiAtOTMuNXQ5NCAtMjU2LjV2LTQwMHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNDAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY0MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41ek04MDAgOTAwaC01MDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNSB2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTg7IiBkPSJNMzUwIDExMDBoNDAwcTE2NSAwIDI1Ny41IC05Mi41dDkyLjUgLTI1Ny41di00MDBxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTYzIDAgLTI1Ni41IDkyLjV0LTkzLjUgMjU3LjV2NDAwcTAgMTYzIDk0IDI1Ni41dDI1NiA5My41ek04MDAgOTAwaC01MDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNSB2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41ek00NDAgNzcwbDI1MyAtMTkwcTE3IC0xMiAxNyAtMzB0LTE3IC0zMGwtMjUzIC0xOTBxLTE2IC0xMiAtMjggLTYuNXQtMTIgMjYuNXY0MDBxMCAyMSAxMiAyNi41dDI4IC02LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE1OTsiIGQ9Ik0zNTAgMTEwMGg0MDBxMTYzIDAgMjU2LjUgLTk0dDkzLjUgLTI1NnYtNDAwcTAgLTE2NSAtOTIuNSAtMjU3LjV0LTI1Ny41IC05Mi41aC00MDBxLTE2NSAwIC0yNTcuNSA5Mi41dC05Mi41IDI1Ny41djQwMHEwIDE2MyA5Mi41IDI1Ni41dDI1Ny41IDkzLjV6TTgwMCA5MDBoLTUwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNTAwcTAgLTQxIDI5LjUgLTcwLjV0NzAuNSAtMjkuNWg1MDBxNDEgMCA3MC41IDI5LjV0MjkuNSA3MC41IHY1MDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjV6TTM1MCA3MDBoNDAwcTIxIDAgMjYuNSAtMTJ0LTYuNSAtMjhsLTE5MCAtMjUzcS0xMiAtMTcgLTMwIC0xN3QtMzAgMTdsLTE5MCAyNTNxLTEyIDE2IC02LjUgMjh0MjYuNSAxMnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTYwOyIgZD0iTTM1MCAxMTAwaDQwMHExNjUgMCAyNTcuNSAtOTIuNXQ5Mi41IC0yNTcuNXYtNDAwcTAgLTE2MyAtOTIuNSAtMjU2LjV0LTI1Ny41IC05My41aC00MDBxLTE2MyAwIC0yNTYuNSA5NHQtOTMuNSAyNTZ2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXpNODAwIDkwMGgtNTAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di01MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDUwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjUgdjUwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNNTgwIDY5M2wxOTAgLTI1M3ExMiAtMTYgNi41IC0yOHQtMjYuNSAtMTJoLTQwMHEtMjEgMCAtMjYuNSAxMnQ2LjUgMjhsMTkwIDI1M3ExMiAxNyAzMCAxN3QzMCAtMTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE2MTsiIGQ9Ik01NTAgMTEwMGg0MDBxMTY1IDAgMjU3LjUgLTkyLjV0OTIuNSAtMjU3LjV2LTQwMHEwIC0xNjUgLTkyLjUgLTI1Ny41dC0yNTcuNSAtOTIuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ1MHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41aC00NTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zMzggODY3bDMyNCAtMjg0cTE2IC0xNCAxNiAtMzN0LTE2IC0zM2wtMzI0IC0yODRxLTE2IC0xNCAtMjcgLTl0LTExIDI2djE1MGgtMjUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDI1MHYxNTBxMCAyMSAxMSAyNnQyNyAtOXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTYyOyIgZD0iTTc5MyAxMTgybDkgLTlxOCAtMTAgNSAtMjdxLTMgLTExIC03OSAtMjI1LjV0LTc4IC0yMjEuNWwzMDAgMXEyNCAwIDMyLjUgLTE3LjV0LTUuNSAtMzUuNXEtMSAwIC0xMzMuNSAtMTU1dC0yNjcgLTMxMi41dC0xMzguNSAtMTYyLjVxLTEyIC0xNSAtMjYgLTE1aC05bC05IDhxLTkgMTEgLTQgMzJxMiA5IDQyIDEyMy41dDc5IDIyNC41bDM5IDExMGgtMzAycS0yMyAwIC0zMSAxOXEtMTAgMjEgNiA0MXE3NSA4NiAyMDkuNSAyMzcuNSB0MjI4IDI1N3Q5OC41IDExMS41cTkgMTYgMjUgMTZoOXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTYzOyIgZD0iTTM1MCAxMTAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00NTBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNDUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwIHEwIDE2NSA5Mi41IDI1Ny41dDI1Ny41IDkyLjV6TTkzOCA4NjdsMzI0IC0yODRxMTYgLTE0IDE2IC0zM3QtMTYgLTMzbC0zMjQgLTI4NHEtMTYgLTE0IC0yNyAtOXQtMTEgMjZ2MTUwaC0yNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMjUwdjE1MHEwIDIxIDExIDI2dDI3IC05eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjQ7IiBkPSJNNzUwIDEyMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTEwLjUgLTI1dC0yNC41IDEwbC0xMDkgMTA5bC0zMTIgLTMxMnEtMTUgLTE1IC0zNS41IC0xNXQtMzUuNSAxNWwtMTQxIDE0MXEtMTUgMTUgLTE1IDM1LjV0MTUgMzUuNWwzMTIgMzEybC0xMDkgMTA5cS0xNCAxNCAtMTAgMjQuNXQyNSAxMC41ek00NTYgOTAwaC0xNTZxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMCBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDUwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2MTQ4bDIwMCAyMDB2LTI5OHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNDAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY0MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41aDMwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTY1OyIgZD0iTTYwMCAxMTg2cTExOSAwIDIyNy41IC00Ni41dDE4NyAtMTI1dDEyNSAtMTg3dDQ2LjUgLTIyNy41dC00Ni41IC0yMjcuNXQtMTI1IC0xODd0LTE4NyAtMTI1dC0yMjcuNSAtNDYuNXQtMjI3LjUgNDYuNXQtMTg3IDEyNXQtMTI1IDE4N3QtNDYuNSAyMjcuNXQ0Ni41IDIyNy41dDEyNSAxODd0MTg3IDEyNXQyMjcuNSA0Ni41ek02MDAgMTAyMnEtMTE1IDAgLTIxMiAtNTYuNXQtMTUzLjUgLTE1My41dC01Ni41IC0yMTJ0NTYuNSAtMjEyIHQxNTMuNSAtMTUzLjV0MjEyIC01Ni41dDIxMiA1Ni41dDE1My41IDE1My41dDU2LjUgMjEydC01Ni41IDIxMnQtMTUzLjUgMTUzLjV0LTIxMiA1Ni41ek02MDAgNzk0cTgwIDAgMTM3IC01N3Q1NyAtMTM3dC01NyAtMTM3dC0xMzcgLTU3dC0xMzcgNTd0LTU3IDEzN3Q1NyAxMzd0MTM3IDU3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjY7IiBkPSJNNDUwIDEyMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0zNTBoMjQ1cTIwIDAgMjUgLTExdC05IC0yNmwtMzgzIC00MjZxLTE0IC0xNSAtMzMuNSAtMTV0LTMyLjUgMTVsLTM3OSA0MjZxLTEzIDE1IC04LjUgMjZ0MjUuNSAxMWgyNTB2MzUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTI1MGgtMTEwMHYyNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiBNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE2NzsiIGQ9Ik01ODMgMTE4MmwzNzggLTQzNXExNCAtMTUgOSAtMzF0LTI2IC0xNmgtMjQ0di0yNTBxMCAtMjAgLTE3IC0zNXQtMzkgLTE1aC0yMDBxLTIwIDAgLTMyIDE0LjV0LTEyIDM1LjV2MjUwaC0yNTBxLTIwIDAgLTI1LjUgMTYuNXQ4LjUgMzEuNWwzODMgNDMxcTE0IDE2IDMzLjUgMTd0MzMuNSAtMTR6TTUwIDMwMGgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXogTTkwMCAyMDB2LTUwaDEwMHY1MGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjg7IiBkPSJNMzk2IDcyM2wzNjkgMzY5cTcgNyAxNy41IDd0MTcuNSAtN2wxMzkgLTEzOXE3IC04IDcgLTE4LjV0LTcgLTE3LjVsLTUyNSAtNTI1cS03IC04IC0xNy41IC04dC0xNy41IDhsLTI5MiAyOTFxLTcgOCAtNyAxOHQ3IDE4bDEzOSAxMzlxOCA3IDE4LjUgN3QxNy41IC03ek01MCAzMDBoMTAwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjUwaC0xMTAwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTkwMCAyMDB2LTUwaDEwMHY1MCBoLTEwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTY5OyIgZD0iTTEzNSAxMDIzbDE0MiAxNDJxMTQgMTQgMzUgMTR0MzUgLTE0bDc3IC03N2wtMjEyIC0yMTJsLTc3IDc2cS0xNCAxNSAtMTQgMzZ0MTQgMzV6TTY1NSA4NTVsMjEwIDIxMHExNCAxNCAyNC41IDEwdDEwLjUgLTI1bC0yIC01OTlxLTEgLTIwIC0xNS41IC0zNXQtMzUuNSAtMTVsLTU5NyAtMXEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIwOCAyMDhsLTE1NCAxNTVsMjEyIDIxMnpNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjUgdi0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3MDsiIGQ9Ik0zNTAgMTIwMGw1OTkgLTJxMjAgLTEgMzUgLTE1LjV0MTUgLTM1LjVsMSAtNTk3cTAgLTIxIC0xMC41IC0yNXQtMjQuNSAxMGwtMjA4IDIwOGwtMTU1IC0xNTRsLTIxMiAyMTJsMTU1IDE1NGwtMjEwIDIxMHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXpNNTI0IDUxMmwtNzYgLTc3cS0xNSAtMTQgLTM2IC0xNHQtMzUgMTRsLTE0MiAxNDJxLTE0IDE0IC0xNCAzNXQxNCAzNWw3NyA3N3pNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41IHQxNC41IC0zNS41di0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3MTsiIGQ9Ik0xMjAwIDEwM2wtNDgzIDI3NmwtMzE0IC0zOTl2NDIzaC0zOTlsMTE5NiA3OTZ2LTEwOTZ6TTQ4MyA0MjR2LTIzMGw2ODMgOTUzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzI7IiBkPSJNMTEwMCAxMDAwdi04NTBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTE1MHY0MDBoLTcwMHYtNDAwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMDBxMCAyMCAxNC41IDM1dDM1LjUgMTVoMjUwdi0zMDBoNTAwdjMwMGgxMDB6TTcwMCAxMDAwaC0xMDB2MjAwaDEwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzM7IiBkPSJNMTEwMCAxMDAwbC0yIC0xNDlsLTI5OSAtMjk5bC05NSA5NXEtOSA5IC0yMS41IDl0LTIxLjUgLTlsLTE0OSAtMTQ3aC0zMTJ2LTQwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjAgMTQuNSAzNXQzNS41IDE1aDI1MHYtMzAwaDUwMHYzMDBoMTAwek03MDAgMTAwMGgtMTAwdjIwMGgxMDB2LTIwMHpNMTEzMiA2MzhsMTA2IC0xMDZxNyAtNyA3IC0xNy41dC03IC0xNy41bC00MjAgLTQyMXEtOCAtNyAtMTggLTcgdC0xOCA3bC0yMDIgMjAzcS04IDcgLTggMTcuNXQ4IDE3LjVsMTA2IDEwNnE3IDggMTcuNSA4dDE3LjUgLThsNzkgLTc5bDI5NyAyOTdxNyA3IDE3LjUgN3QxNy41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzQ7IiBkPSJNMTEwMCAxMDAwdi0yNjlsLTEwMyAtMTAzbC0xMzQgMTM0cS0xNSAxNSAtMzMuNSAxNi41dC0zNC41IC0xMi41bC0yNjYgLTI2NmgtMzI5di00MDBoLTE1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwMHEwIDIwIDE0LjUgMzV0MzUuNSAxNWgyNTB2LTMwMGg1MDB2MzAwaDEwMHpNNzAwIDEwMDBoLTEwMHYyMDBoMTAwdi0yMDB6TTEyMDIgNTcybDcwIC03MHExNSAtMTUgMTUgLTM1LjV0LTE1IC0zNS41bC0xMzEgLTEzMSBsMTMxIC0xMzFxMTUgLTE1IDE1IC0zNS41dC0xNSAtMzUuNWwtNzAgLTcwcS0xNSAtMTUgLTM1LjUgLTE1dC0zNS41IDE1bC0xMzEgMTMxbC0xMzEgLTEzMXEtMTUgLTE1IC0zNS41IC0xNXQtMzUuNSAxNWwtNzAgNzBxLTE1IDE1IC0xNSAzNS41dDE1IDM1LjVsMTMxIDEzMWwtMTMxIDEzMXEtMTUgMTUgLTE1IDM1LjV0MTUgMzUuNWw3MCA3MHExNSAxNSAzNS41IDE1dDM1LjUgLTE1bDEzMSAtMTMxbDEzMSAxMzFxMTUgMTUgMzUuNSAxNSB0MzUuNSAtMTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NTsiIGQ9Ik0xMTAwIDEwMDB2LTMwMGgtMzUwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xNTBoLTUwMHYtNDAwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMDBxMCAyMCAxNC41IDM1dDM1LjUgMTVoMjUwdi0zMDBoNTAwdjMwMGgxMDB6TTcwMCAxMDAwaC0xMDB2MjAwaDEwMHYtMjAwek04NTAgNjAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjUwaDE1MHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNSBsLTIzMCAtMjMwcS0xNCAtMTQgLTM1IC0xNHQtMzUgMTRsLTIzMCAyMzBxLTE0IDE0IC0xMCAyNC41dDI1IDEwLjVoMTUwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NjsiIGQ9Ik0xMTAwIDEwMDB2LTQwMGwtMTY1IDE2NXEtMTQgMTUgLTM1IDE1dC0zNSAtMTVsLTI2MyAtMjY1aC00MDJ2LTQwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjAgMTQuNSAzNXQzNS41IDE1aDI1MHYtMzAwaDUwMHYzMDBoMTAwek03MDAgMTAwMGgtMTAwdjIwMGgxMDB2LTIwMHpNOTM1IDU2NWwyMzAgLTIyOXExNCAtMTUgMTAgLTI1LjV0LTI1IC0xMC41aC0xNTB2LTI1MHEwIC0yMCAtMTQuNSAtMzUgdC0zNS41IC0xNWgtMTAwcS0yMSAwIC0zNS41IDE1dC0xNC41IDM1djI1MGgtMTUwcS0yMSAwIC0yNSAxMC41dDEwIDI1LjVsMjMwIDIyOXExNCAxNSAzNSAxNXQzNSAtMTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NzsiIGQ9Ik01MCAxMTAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTE1MGgtMTIwMHYxNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMjAwIDgwMHYtNTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1NTBoMTIwMHpNMTAwIDUwMHYtMjAwaDQwMHYyMDBoLTQwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTc4OyIgZD0iTTkzNSAxMTY1bDI0OCAtMjMwcTE0IC0xNCAxNCAtMzV0LTE0IC0zNWwtMjQ4IC0yMzBxLTE0IC0xNCAtMjQuNSAtMTB0LTEwLjUgMjV2MTUwaC00MDB2MjAwaDQwMHYxNTBxMCAyMSAxMC41IDI1dDI0LjUgLTEwek0yMDAgODAwaC01MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHYtMjAwek00MDAgODAwaC0xMDB2MjAwaDEwMHYtMjAwek0xOCA0MzVsMjQ3IDIzMCBxMTQgMTQgMjQuNSAxMHQxMC41IC0yNXYtMTUwaDQwMHYtMjAwaC00MDB2LTE1MHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTI0NyAyMzBxLTE1IDE0IC0xNSAzNXQxNSAzNXpNOTAwIDMwMGgtMTAwdjIwMGgxMDB2LTIwMHpNMTAwMCA1MDBoNTFxMjAgMCAzNC41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzQuNSAtMTQuNWgtNTF2MjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzk7IiBkPSJNODYyIDEwNzNsMjc2IDExNnEyNSAxOCA0My41IDh0MTguNSAtNDF2LTExMDZxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2Mzk3cS00IDEgLTExIDV0LTI0IDE3LjV0LTMwIDI5dC0yNCA0MnQtMTEgNTYuNXYzNTlxMCAzMSAxOC41IDY1dDQzLjUgNTJ6TTU1MCAxMjAwcTIyIDAgMzQuNSAtMTIuNXQxNC41IC0yNC41bDEgLTEzdi00NTBxMCAtMjggLTEwLjUgLTU5LjUgdC0yNSAtNTZ0LTI5IC00NXQtMjUuNSAtMzEuNWwtMTAgLTExdi00NDdxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDQ3cS00IDQgLTExIDExLjV0LTI0IDMwLjV0LTMwIDQ2dC0yNCA1NXQtMTEgNjB2NDUwcTAgMiAwLjUgNS41dDQgMTJ0OC41IDE1dDE0LjUgMTJ0MjIuNSA1LjVxMjAgMCAzMi41IC0xMi41dDE0LjUgLTI0LjVsMyAtMTN2LTM1MGgxMDB2MzUwdjUuNXQyLjUgMTIgdDcgMTV0MTUgMTJ0MjUuNSA1LjVxMjMgMCAzNS41IC0xMi41dDEzLjUgLTI0LjVsMSAtMTN2LTM1MGgxMDB2MzUwcTAgMiAwLjUgNS41dDMgMTJ0NyAxNXQxNSAxMnQyNC41IDUuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTgwOyIgZD0iTTEyMDAgMTEwMHYtNTZxLTQgMCAtMTEgLTAuNXQtMjQgLTN0LTMwIC03LjV0LTI0IC0xNXQtMTEgLTI0di04ODhxMCAtMjIgMjUgLTM0LjV0NTAgLTEzLjVsMjUgLTJ2LTU2aC00MDB2NTZxNzUgMCA4Ny41IDYuNXQxMi41IDQzLjV2Mzk0aC01MDB2LTM5NHEwIC0zNyAxMi41IC00My41dDg3LjUgLTYuNXYtNTZoLTQwMHY1NnE0IDAgMTEgMC41dDI0IDN0MzAgNy41dDI0IDE1dDExIDI0djg4OHEwIDIyIC0yNSAzNC41dC01MCAxMy41IGwtMjUgMnY1Nmg0MDB2LTU2cS03NSAwIC04Ny41IC02LjV0LTEyLjUgLTQzLjV2LTM5NGg1MDB2Mzk0cTAgMzcgLTEyLjUgNDMuNXQtODcuNSA2LjV2NTZoNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODE7IiBkPSJNNjc1IDEwMDBoMzc1cTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoLTEwNWwtMjk1IC05OHY5OGwtMjAwIDIwMGgtNDAwbDEwMCAxMDBoMzc1ek0xMDAgOTAwaDMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNTAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC0zMDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djUwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTEwMCA4MDB2LTIwMGgzMDB2MjAwIGgtMzAwek0xMTAwIDUzNWwtNDAwIC0xMzN2MTYzbDQwMCAxMzN2LTE2M3pNMTAwIDUwMHYtMjAwaDMwMHYyMDBoLTMwMHpNMTEwMCAzOTh2LTI0OHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzc1bC0xMDAgLTEwMGgtMzc1bC0xMDAgMTAwaDQwMGwyMDAgMjAwaDEwNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTgyOyIgZD0iTTE3IDEwMDdsMTYyIDE2MnExNyAxNyA0MCAxNHQzNyAtMjJsMTM5IC0xOTRxMTQgLTIwIDExIC00NC41dC0yMCAtNDEuNWwtMTE5IC0xMThxMTAyIC0xNDIgMjI4IC0yNjh0MjY3IC0yMjdsMTE5IDExOHExNyAxNyA0Mi41IDE5dDQ0LjUgLTEybDE5MiAtMTM2cTE5IC0xNCAyMi41IC0zNy41dC0xMy41IC00MC41bC0xNjMgLTE2MnEtMyAtMSAtOS41IC0xdC0yOS41IDJ0LTQ3LjUgNnQtNjIuNSAxNC41dC03Ny41IDI2LjV0LTkwIDQyLjUgdC0xMDEuNSA2MHQtMTExIDgzdC0xMTkgMTA4LjVxLTc0IDc0IC0xMzMuNSAxNTAuNXQtOTQuNSAxMzguNXQtNjAgMTE5LjV0LTM0LjUgMTAwdC0xNSA3NC41dC00LjUgNDh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4MzsiIGQ9Ik02MDAgMTEwMHE5MiAwIDE3NSAtMTAuNXQxNDEuNSAtMjd0MTA4LjUgLTM2LjV0ODEuNSAtNDB0NTMuNSAtMzd0MzEgLTI3bDkgLTEwdi0yMDBxMCAtMjEgLTE0LjUgLTMzdC0zNC41IC05bC0yMDIgMzRxLTIwIDMgLTM0LjUgMjB0LTE0LjUgMzh2MTQ2cS0xNDEgMjQgLTMwMCAyNHQtMzAwIC0yNHYtMTQ2cTAgLTIxIC0xNC41IC0zOHQtMzQuNSAtMjBsLTIwMiAtMzRxLTIwIC0zIC0zNC41IDl0LTE0LjUgMzN2MjAwcTMgNCA5LjUgMTAuNSB0MzEgMjZ0NTQgMzcuNXQ4MC41IDM5LjV0MTA5IDM3LjV0MTQxIDI2LjV0MTc1IDEwLjV6TTYwMCA3OTVxNTYgMCA5NyAtOS41dDYwIC0yMy41dDMwIC0yOHQxMiAtMjRsMSAtMTB2LTUwbDM2NSAtMzAzcTE0IC0xNSAyNC41IC00MHQxMC41IC00NXYtMjEycTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMTJxMCAyMCAxMC41IDQ1dDI0LjUgNDBsMzY1IDMwM3Y1MCBxMCA0IDEgMTAuNXQxMiAyM3QzMCAyOXQ2MCAyMi41dDk3IDEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODQ7IiBkPSJNMTEwMCA3MDBsLTIwMCAtMjAwaC02MDBsLTIwMCAyMDB2NTAwaDIwMHYtMjAwaDIwMHYyMDBoMjAwdi0yMDBoMjAwdjIwMGgyMDB2LTUwMHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEybDEzNyAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNSB0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODU7IiBkPSJNNzAwIDExMDBoLTEwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtMTAwMGgzMDB2MTAwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNMTEwMCA4MDBoLTEwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNzAwaDMwMHY3MDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjV6TTQwMCAwaC0zMDB2NDAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNWgxMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTQwMHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4NjsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDcwMGgtMjAwdi0xMDBoMjAwdi0zMDBoLTMwMHYxMDBoMjAwdjEwMGgtMjAwdjMwMGgzMDB2LTEwMHpNOTAwIDcwMHYtMzAwbC0xMDAgLTEwMGgtMjAwdjUwMGgyMDB6IE03MDAgNzAwdi0zMDBoMTAwdjMwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODc7IiBkPSJNMjAwIDExMDBoNzAwcTEyNCAwIDIxMiAtODh0ODggLTIxMnYtNTAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OGgtNzAwcS0xMjQgMCAtMjEyIDg4dC04OCAyMTJ2NTAwcTAgMTI0IDg4IDIxMnQyMTIgODh6TTEwMCA5MDB2LTcwMGg5MDB2NzAwaC05MDB6TTUwMCAzMDBoLTEwMHYyMDBoLTEwMHYtMjAwaC0xMDB2NTAwaDEwMHYtMjAwaDEwMHYyMDBoMTAwdi01MDB6TTkwMCA3MDB2LTMwMGwtMTAwIC0xMDBoLTIwMHY1MDBoMjAweiBNNzAwIDcwMHYtMzAwaDEwMHYzMDBoLTEwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTg4OyIgZD0iTTIwMCAxMTAwaDcwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTUwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhoLTcwMHEtMTI0IDAgLTIxMiA4OHQtODggMjEydjUwMHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek0xMDAgOTAwdi03MDBoOTAwdjcwMGgtOTAwek01MDAgNzAwaC0yMDB2LTMwMGgyMDB2LTEwMGgtMzAwdjUwMGgzMDB2LTEwMHpNOTAwIDcwMGgtMjAwdi0zMDBoMjAwdi0xMDBoLTMwMHY1MDBoMzAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4OTsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDQwMGwtMzAwIDE1MGwzMDAgMTUwdi0zMDB6TTkwMCA1NTBsLTMwMCAtMTUwdjMwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTkwOyIgZD0iTTIwMCAxMTAwaDcwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTUwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhoLTcwMHEtMTI0IDAgLTIxMiA4OHQtODggMjEydjUwMHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek0xMDAgOTAwdi03MDBoOTAwdjcwMGgtOTAwek05MDAgMzAwaC03MDB2NTAwaDcwMHYtNTAwek04MDAgNzAwaC0xMzBxLTM4IDAgLTY2LjUgLTQzdC0yOC41IC0xMDh0MjcgLTEwN3Q2OCAtNDJoMTMwdjMwMHpNMzAwIDcwMHYtMzAwIGgxMzBxNDEgMCA2OCA0MnQyNyAxMDd0LTI4LjUgMTA4dC02Ni41IDQzaC0xMzB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MTsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDcwMGgtMjAwdi0xMDBoMjAwdi0zMDBoLTMwMHYxMDBoMjAwdjEwMGgtMjAwdjMwMGgzMDB2LTEwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHogTTcwMCAzMDBoLTEwMHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MjsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNMzAwIDcwMGgyMDB2LTQwMGgtMzAwdjUwMGgxMDB2LTEwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNMzAwIDYwMHYtMjAwaDEwMHYyMDBoLTEwMHogTTcwMCAzMDBoLTEwMHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MzsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDUwMGwtMTk5IC0yMDBoLTEwMHY1MGwxOTkgMjAwdjE1MGgtMjAwdjEwMGgzMDB2LTMwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNNzAxIDMwMGgtMTAwIHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5NDsiIGQ9Ik02MDAgMTE5MXExMjAgMCAyMjkuNSAtNDd0MTg4LjUgLTEyNnQxMjYgLTE4OC41dDQ3IC0yMjkuNXQtNDcgLTIyOS41dC0xMjYgLTE4OC41dC0xODguNSAtMTI2dC0yMjkuNSAtNDd0LTIyOS41IDQ3dC0xODguNSAxMjZ0LTEyNiAxODguNXQtNDcgMjI5LjV0NDcgMjI5LjV0MTI2IDE4OC41dDE4OC41IDEyNnQyMjkuNSA0N3pNNjAwIDEwMjFxLTExNCAwIC0yMTEgLTU2LjV0LTE1My41IC0xNTMuNXQtNTYuNSAtMjExdDU2LjUgLTIxMSB0MTUzLjUgLTE1My41dDIxMSAtNTYuNXQyMTEgNTYuNXQxNTMuNSAxNTMuNXQ1Ni41IDIxMXQtNTYuNSAyMTF0LTE1My41IDE1My41dC0yMTEgNTYuNXpNODAwIDcwMGgtMzAwdi0yMDBoMzAwdi0xMDBoLTMwMGwtMTAwIDEwMHYyMDBsMTAwIDEwMGgzMDB2LTEwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTk1OyIgZD0iTTYwMCAxMTkxcTEyMCAwIDIyOS41IC00N3QxODguNSAtMTI2dDEyNiAtMTg4LjV0NDcgLTIyOS41dC00NyAtMjI5LjV0LTEyNiAtMTg4LjV0LTE4OC41IC0xMjZ0LTIyOS41IC00N3QtMjI5LjUgNDd0LTE4OC41IDEyNnQtMTI2IDE4OC41dC00NyAyMjkuNXQ0NyAyMjkuNXQxMjYgMTg4LjV0MTg4LjUgMTI2dDIyOS41IDQ3ek02MDAgMTAyMXEtMTE0IDAgLTIxMSAtNTYuNXQtMTUzLjUgLTE1My41dC01Ni41IC0yMTF0NTYuNSAtMjExIHQxNTMuNSAtMTUzLjV0MjExIC01Ni41dDIxMSA1Ni41dDE1My41IDE1My41dDU2LjUgMjExdC01Ni41IDIxMXQtMTUzLjUgMTUzLjV0LTIxMSA1Ni41ek04MDAgNzAwdi0xMDBsLTUwIC01MGwxMDAgLTEwMHYtNTBoLTEwMGwtMTAwIDEwMGgtMTUwdi0xMDBoLTEwMHY0MDBoMzAwek01MDAgNzAwdi0xMDBoMjAwdjEwMGgtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxOTc7IiBkPSJNNTAzIDEwODlxMTEwIDAgMjAwLjUgLTU5LjV0MTM0LjUgLTE1Ni41cTQ0IDE0IDkwIDE0cTEyMCAwIDIwNSAtODYuNXQ4NSAtMjA3dC04NSAtMjA3dC0yMDUgLTg2LjVoLTEyOHYyNTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTMwMHEtMjEgMCAtMzUuNSAtMTQuNXQtMTQuNSAtMzUuNXYtMjUwaC0yMjJxLTgwIDAgLTEzNiA1Ny41dC01NiAxMzYuNXEwIDY5IDQzIDEyMi41dDEwOCA2Ny41cS0yIDE5IC0yIDM3cTAgMTAwIDQ5IDE4NSB0MTM0IDEzNHQxODUgNDl6TTUyNSA1MDBoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMjc1aDEzN3EyMSAwIDI2IC0xMS41dC04IC0yNy41bC0yMjMgLTI0NHEtMTMgLTE2IC0zMiAtMTZ0LTMyIDE2bC0yMjMgMjQ0cS0xMyAxNiAtOCAyNy41dDI2IDExLjVoMTM3djI3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxOTg7IiBkPSJNNTAyIDEwODlxMTEwIDAgMjAxIC01OS41dDEzNSAtMTU2LjVxNDMgMTUgODkgMTVxMTIxIDAgMjA2IC04Ni41dDg2IC0yMDYuNXEwIC05OSAtNjAgLTE4MXQtMTUwIC0xMTBsLTM3OCAzNjBxLTEzIDE2IC0zMS41IDE2dC0zMS41IC0xNmwtMzgxIC0zNjVoLTlxLTc5IDAgLTEzNS41IDU3LjV0LTU2LjUgMTM2LjVxMCA2OSA0MyAxMjIuNXQxMDggNjcuNXEtMiAxOSAtMiAzOHEwIDEwMCA0OSAxODQuNXQxMzMuNSAxMzR0MTg0LjUgNDkuNXogTTYzMiA0NjdsMjIzIC0yMjhxMTMgLTE2IDggLTI3LjV0LTI2IC0xMS41aC0xMzd2LTI3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djI3NWgtMTM3cS0yMSAwIC0yNiAxMS41dDggMjcuNXExOTkgMjA0IDIyMyAyMjhxMTkgMTkgMzEuNSAxOXQzMi41IC0xOXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTk5OyIgZD0iTTcwMCAxMDB2MTAwaDQwMGwtMjcwIDMwMGgxNzBsLTI3MCAzMDBoMTcwbC0zMDAgMzMzbC0zMDAgLTMzM2gxNzBsLTI3MCAtMzAwaDE3MGwtMjcwIC0zMDBoNDAwdi0xMDBoLTUwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di01MGg0MDB2NTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDA7IiBkPSJNNjAwIDExNzlxOTQgMCAxNjcuNSAtNTYuNXQ5OS41IC0xNDUuNXE4OSAtNiAxNTAuNSAtNzEuNXQ2MS41IC0xNTUuNXEwIC02MSAtMjkuNSAtMTEyLjV0LTc5LjUgLTgyLjVxOSAtMjkgOSAtNTVxMCAtNzQgLTUyLjUgLTEyNi41dC0xMjYuNSAtNTIuNXEtNTUgMCAtMTAwIDMwdi0yNTFxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwaC0zMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41djI1MXEtNDUgLTMwIC0xMDAgLTMwIHEtNzQgMCAtMTI2LjUgNTIuNXQtNTIuNSAxMjYuNXEwIDE4IDQgMzhxLTQ3IDIxIC03NS41IDY1dC0yOC41IDk3cTAgNzQgNTIuNSAxMjYuNXQxMjYuNSA1Mi41cTUgMCAyMyAtMnEwIDIgLTEgMTB0LTEgMTNxMCAxMTYgODEuNSAxOTcuNXQxOTcuNSA4MS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDE7IiBkPSJNMTAxMCAxMDEwcTExMSAtMTExIDE1MC41IC0yNjAuNXQwIC0yOTl0LTE1MC41IC0yNjAuNXEtODMgLTgzIC0xOTEuNSAtMTI2LjV0LTIxOC41IC00My41dC0yMTguNSA0My41dC0xOTEuNSAxMjYuNXEtMTExIDExMSAtMTUwLjUgMjYwLjV0MCAyOTl0MTUwLjUgMjYwLjVxODMgODMgMTkxLjUgMTI2LjV0MjE4LjUgNDMuNXQyMTguNSAtNDMuNXQxOTEuNSAtMTI2LjV6TTQ3NiAxMDY1cS00IDAgLTggLTFxLTEyMSAtMzQgLTIwOS41IC0xMjIuNSB0LTEyMi41IC0yMDkuNXEtNCAtMTIgMi41IC0yM3QxOC41IC0xNGwzNiAtOXEzIC0xIDcgLTFxMjMgMCAyOSAyMnEyNyA5NiA5OCAxNjZxNzAgNzEgMTY2IDk4cTExIDMgMTcuNSAxMy41dDMuNSAyMi41bC05IDM1cS0zIDEzIC0xNCAxOXEtNyA0IC0xNSA0ek01MTIgOTIwcS00IDAgLTkgLTJxLTgwIC0yNCAtMTM4LjUgLTgyLjV0LTgyLjUgLTEzOC41cS00IC0xMyAyIC0yNHQxOSAtMTRsMzQgLTlxNCAtMSA4IC0xcTIyIDAgMjggMjEgcTE4IDU4IDU4LjUgOTguNXQ5Ny41IDU4LjVxMTIgMyAxOCAxMy41dDMgMjEuNWwtOSAzNXEtMyAxMiAtMTQgMTlxLTcgNCAtMTUgNHpNNzE5LjUgNzE5LjVxLTQ5LjUgNDkuNSAtMTE5LjUgNDkuNXQtMTE5LjUgLTQ5LjV0LTQ5LjUgLTExOS41dDQ5LjUgLTExOS41dDExOS41IC00OS41dDExOS41IDQ5LjV0NDkuNSAxMTkuNXQtNDkuNSAxMTkuNXpNODU1IDU1MXEtMjIgMCAtMjggLTIxcS0xOCAtNTggLTU4LjUgLTk4LjV0LTk4LjUgLTU3LjUgcS0xMSAtNCAtMTcgLTE0LjV0LTMgLTIxLjVsOSAtMzVxMyAtMTIgMTQgLTE5cTcgLTQgMTUgLTRxNCAwIDkgMnE4MCAyNCAxMzguNSA4Mi41dDgyLjUgMTM4LjVxNCAxMyAtMi41IDI0dC0xOC41IDE0bC0zNCA5cS00IDEgLTggMXpNMTAwMCA1MTVxLTIzIDAgLTI5IC0yMnEtMjcgLTk2IC05OCAtMTY2cS03MCAtNzEgLTE2NiAtOThxLTExIC0zIC0xNy41IC0xMy41dC0zLjUgLTIyLjVsOSAtMzVxMyAtMTMgMTQgLTE5cTcgLTQgMTUgLTQgcTQgMCA4IDFxMTIxIDM0IDIwOS41IDEyMi41dDEyMi41IDIwOS41cTQgMTIgLTIuNSAyM3QtMTguNSAxNGwtMzYgOXEtMyAxIC03IDF6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwMjsiIGQ9Ik03MDAgODAwaDMwMHYtMzgwaC0xODB2MjAwaC0zNDB2LTIwMGgtMzgwdjc1NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDU3NXYtNDAwek0xMDAwIDkwMGgtMjAwdjIwMHpNNzAwIDMwMGgxNjJsLTIxMiAtMjEybC0yMTIgMjEyaDE2MnYyMDBoMTAwdi0yMDB6TTUyMCAwaC0zOTVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzOTV6TTEwMDAgMjIwdi0xOTVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xOTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwMzsiIGQ9Ik03MDAgODAwaDMwMHYtNTIwbC0zNTAgMzUwbC01NTAgLTU1MHYxMDk1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNTc1di00MDB6TTEwMDAgOTAwaC0yMDB2MjAwek04NjIgMjAwaC0xNjJ2LTIwMGgtMTAwdjIwMGgtMTYybDIxMiAyMTJ6TTQ4MCAwaC0zNTVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1NWgzODB2LTgwek0xMDAwIDgwdi01NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1NXY4MGgxODB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwNDsiIGQ9Ik0xMTYyIDgwMGgtMTYydi0yMDBoMTAwbDEwMCAtMTAwaC0zMDB2MzAwaC0xNjJsMjEyIDIxMnpNMjAwIDgwMGgyMDBxMjcgMCA0MCAtMnQyOS41IC0xMC41dDIzLjUgLTMwdDcgLTU3LjVoMzAwdi0xMDBoLTYwMGwtMjAwIC0zNTB2NDUwaDEwMHEwIDM2IDcgNTcuNXQyMy41IDMwdDI5LjUgMTAuNXQ0MCAyek04MDAgNDAwaDI0MGwtMjQwIC00MDBoLTgwMGwzMDAgNTAwaDUwMHYtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDU7IiBkPSJNNjUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMDAwIDg1MHYxNTBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTgwMCBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTYwMHEtMSAwIC0yMCA0bDI0NiAyNDZsLTMyNiAzMjZ2MzI0cTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXYtMTUwcTAgLTYyIDQ0IC0xMDZ0MTA2IC00NGgzMDBxNjIgMCAxMDYgNDR0NDQgMTA2ek00MTIgMjUwbC0yMTIgLTIxMnYxNjJoLTIwMHYxMDBoMjAwdjE2MnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjA2OyIgZD0iTTQ1MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDUwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNODAwIDg1MHYxNTBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTUwMCBoLTIwMHYtMzAwaDIwMHEwIC0zNiAtNyAtNTcuNXQtMjMuNSAtMzB0LTI5LjUgLTEwLjV0LTQwIC0yaC02MDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djgwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV2LTE1MHEwIC02MiA0NCAtMTA2dDEwNiAtNDRoMzAwcTYyIDAgMTA2IDQ0dDQ0IDEwNnpNMTIxMiAyNTBsLTIxMiAtMjEydjE2MmgtMjAwdjEwMGgyMDB2MTYyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDk7IiBkPSJNNjU4IDExOTdsNjM3IC0xMTA0cTIzIC0zOCA3IC02NS41dC02MCAtMjcuNWgtMTI3NnEtNDQgMCAtNjAgMjcuNXQ3IDY1LjVsNjM3IDExMDRxMjIgMzkgNTQgMzl0NTQgLTM5ek03MDQgODAwaC0yMDhxLTIwIDAgLTMyIC0xNC41dC04IC0zNC41bDU4IC0zMDJxNCAtMjAgMjEuNSAtMzQuNXQzNy41IC0xNC41aDU0cTIwIDAgMzcuNSAxNC41dDIxLjUgMzQuNWw1OCAzMDJxNCAyMCAtOCAzNC41dC0zMiAxNC41ek01MDAgMzAwdi0xMDBoMjAwIHYxMDBoLTIwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjEwOyIgZD0iTTQyNSAxMTAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek00MjUgODAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41IHQxNy41IDcuNXpNODI1IDgwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMjUgNTAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDI1IDUwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNODI1IDUwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNSB2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTI1IDIwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDI1IDIwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41IHQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTgyNSAyMDBoMjUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMjUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxMTsiIGQ9Ik03MDAgMTIwMGgxMDB2LTIwMGgtMTAwdi0xMDBoMzUwcTYyIDAgODYuNSAtMzkuNXQtMy41IC05NC41bC02NiAtMTMycS00MSAtODMgLTgxIC0xMzRoLTc3MnEtNDAgNTEgLTgxIDEzNGwtNjYgMTMycS0yOCA1NSAtMy41IDk0LjV0ODYuNSAzOS41aDM1MHYxMDBoLTEwMHYyMDBoMTAwdjEwMGgyMDB2LTEwMHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEybDEzNyAtMTAwIGgtOTUwbDEzOCAxMDBoLTEzcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41ek01MCAxMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMTI7IiBkPSJNNjAwIDEzMDBxNDAgMCA2OC41IC0yOS41dDI4LjUgLTcwLjVoLTE5NHEwIDQxIDI4LjUgNzAuNXQ2OC41IDI5LjV6TTQ0MyAxMTAwaDMxNHExOCAtMzcgMTggLTc1cTAgLTggLTMgLTI1aDMyOHE0MSAwIDQ0LjUgLTE2LjV0LTMwLjUgLTM4LjVsLTE3NSAtMTQ1aC02NzhsLTE3OCAxNDVxLTM0IDIyIC0yOSAzOC41dDQ2IDE2LjVoMzI4cS0zIDE3IC0zIDI1cTAgMzggMTggNzV6TTI1MCA3MDBoNzAwcTIxIDAgMzUuNSAtMTQuNSB0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTUwdi0yMDBsMjc1IC0yMDBoLTk1MGwyNzUgMjAwdjIwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41ek01MCAxMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMTM7IiBkPSJNNjAwIDExODFxNzUgMCAxMjggLTUzdDUzIC0xMjh0LTUzIC0xMjh0LTEyOCAtNTN0LTEyOCA1M3QtNTMgMTI4dDUzIDEyOHQxMjggNTN6TTYwMiA3OThoNDZxMzQgMCA1NS41IC0yOC41dDIxLjUgLTg2LjVxMCAtNzYgMzkgLTE4M2gtMzI0cTM5IDEwNyAzOSAxODNxMCA1OCAyMS41IDg2LjV0NTYuNSAyOC41aDQ1ek0yNTAgNDAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTMgbDEzOCAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNDsiIGQ9Ik02MDAgMTMwMHE0NyAwIDkyLjUgLTUzLjV0NzEgLTEyM3QyNS41IC0xMjMuNXEwIC03OCAtNTUuNSAtMTMzLjV0LTEzMy41IC01NS41dC0xMzMuNSA1NS41dC01NS41IDEzMy41cTAgNjIgMzQgMTQzbDE0NCAtMTQzbDExMSAxMTFsLTE2MyAxNjNxMzQgMjYgNjMgMjZ6TTYwMiA3OThoNDZxMzQgMCA1NS41IC0yOC41dDIxLjUgLTg2LjVxMCAtNzYgMzkgLTE4M2gtMzI0cTM5IDEwNyAzOSAxODNxMCA1OCAyMS41IDg2LjV0NTYuNSAyOC41aDQ1IHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEzbDEzOCAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNTsiIGQ9Ik02MDAgMTIwMGwzMDAgLTE2MXYtMTM5aC0zMDBxMCAtNTcgMTguNSAtMTA4dDUwIC05MS41dDYzIC03MnQ3MCAtNjcuNXQ1Ny41IC02MWgtNTMwcS02MCA4MyAtOTAuNSAxNzcuNXQtMzAuNSAxNzguNXQzMyAxNjQuNXQ4Ny41IDEzOS41dDEyNiA5Ni41dDE0NS41IDQxLjV2LTk4ek0yNTAgNDAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTNsMTM4IC0xMDBoLTk1MGwxMzcgMTAwIGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNjsiIGQ9Ik02MDAgMTMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNzhxNDYgLTI2IDczIC03MnQyNyAtMTAwdi01MGgtNDAwdjUwcTAgNTQgMjcgMTAwdDczIDcydjc4cTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNNDAwIDgwMGg0MDBxNTQgMCAxMDAgLTI3dDcyIC03M2gtMTcydi0xMDBoMjAwdi0xMDBoLTIwMHYtMTAwaDIwMHYtMTAwaC0yMDB2LTEwMGgyMDBxMCAtODMgLTU4LjUgLTE0MS41dC0xNDEuNSAtNTguNWgtNDAwIHEtODMgMCAtMTQxLjUgNTguNXQtNTguNSAxNDEuNXY0MDBxMCA4MyA1OC41IDE0MS41dDE0MS41IDU4LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxODsiIGQ9Ik0xNTAgMTEwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtOTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMjUgNDAwaDk1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMjgzbDIyNCAtMjI0cTEzIC0xMyAxMyAtMzEuNXQtMTMgLTMyIHQtMzEuNSAtMTMuNXQtMzEuNSAxM2wtODggODhoLTUyNGwtODcgLTg4cS0xMyAtMTMgLTMyIC0xM3QtMzIgMTMuNXQtMTMgMzJ0MTMgMzEuNWwyMjQgMjI0aC0yODlxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01NDEgMzAwbC0xMDAgLTEwMGgzMjRsLTEwMCAxMDBoLTEyNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjE5OyIgZD0iTTIwMCAxMTAwaDgwMHE4MyAwIDE0MS41IC01OC41dDU4LjUgLTE0MS41di0yMDBoLTEwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNWgtMjUwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41aC0xMDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjVoLTI1MHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNWgtMTAwdjIwMHEwIDgzIDU4LjUgMTQxLjV0MTQxLjUgNTguNXpNMTAwIDYwMGgxMDAwcTQxIDAgNzAuNSAtMjkuNSB0MjkuNSAtNzAuNXYtMzAwaC0xMjAwdjMwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTMwMCAxMDB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaDIwMHpNMTEwMCAxMDB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaDIwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjIxOyIgZD0iTTQ4MCAxMTY1bDY4MiAtNjgzcTMxIC0zMSAzMSAtNzUuNXQtMzEgLTc1LjVsLTEzMSAtMTMxaC00ODFsLTUxNyA1MThxLTMyIDMxIC0zMiA3NS41dDMyIDc1LjVsMjk1IDI5NnEzMSAzMSA3NS41IDMxdDc2LjUgLTMxek0xMDggNzk0bDM0MiAtMzQybDMwMyAzMDRsLTM0MSAzNDF6TTI1MCAxMDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtOTAwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjIzOyIgZD0iTTEwNTcgNjQ3bC0xODkgNTA2cS04IDE5IC0yNy41IDMzdC00MC41IDE0aC00MDBxLTIxIDAgLTQwLjUgLTE0dC0yNy41IC0zM2wtMTg5IC01MDZxLTggLTE5IDEuNSAtMzN0MzAuNSAtMTRoNjI1di0xNTBxMCAtMjEgMTQuNSAtMzUuNXQzNS41IC0xNC41dDM1LjUgMTQuNXQxNC41IDM1LjV2MTUwaDEyNXEyMSAwIDMwLjUgMTR0MS41IDMzek04OTcgMGgtNTk1djUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHY1MCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ4djMwMGgyMDB2LTMwMGg0N3EyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMjQ7IiBkPSJNOTAwIDgwMGgzMDB2LTU3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTM3NXY1OTFsLTMwMCAzMDB2ODRxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgzNzV2LTQwMHpNMTIwMCA5MDBoLTIwMHYyMDB6TTQwMCA2MDBoMzAwdi01NzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC02NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5NTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgzNzV2LTQwMHpNNzAwIDcwMGgtMjAwdjIwMHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIyNTsiIGQ9Ik00ODQgMTA5NWgxOTVxNzUgMCAxNDYgLTMyLjV0MTI0IC04NnQ4OS41IC0xMjIuNXQ0OC41IC0xNDJxMTggLTE0IDM1IC0yMHEzMSAtMTAgNjQuNSA2LjV0NDMuNSA0OC41cTEwIDM0IC0xNSA3MXEtMTkgMjcgLTkgNDNxNSA4IDEyLjUgMTF0MTkgLTF0MjMuNSAtMTZxNDEgLTQ0IDM5IC0xMDVxLTMgLTYzIC00NiAtMTA2LjV0LTEwNCAtNDMuNWgtNjJxLTcgLTU1IC0zNSAtMTE3dC01NiAtMTAwbC0zOSAtMjM0cS0zIC0yMCAtMjAgLTM0LjUgdC0zOCAtMTQuNWgtMTAwcS0yMSAwIC0zMyAxNC41dC05IDM0LjVsMTIgNzBxLTQ5IC0xNCAtOTEgLTE0aC0xOTVxLTI0IDAgLTY1IDhsLTExIC02NHEtMyAtMjAgLTIwIC0zNC41dC0zOCAtMTQuNWgtMTAwcS0yMSAwIC0zMyAxNC41dC05IDM0LjVsMjYgMTU3cS04NCA3NCAtMTI4IDE3NWwtMTU5IDUzcS0xOSA3IC0zMyAyNnQtMTQgNDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDEyNHExMSA4NyA1NiAxNjZsLTExMSA5NSBxLTE2IDE0IC0xMi41IDIzLjV0MjQuNSA5LjVoMjAzcTExNiAxMDEgMjUwIDEwMXpNNjc1IDEwMDBoLTI1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMjUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2NTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMjY7IiBkPSJNNjQxIDkwMGw0MjMgMjQ3cTE5IDggNDIgMi41dDM3IC0yMS41bDMyIC0zOHExNCAtMTUgMTIuNSAtMzZ0LTE3LjUgLTM0bC0xMzkgLTEyMGgtMzkwek01MCAxMTAwaDEwNnE2NyAwIDEwMyAtMTd0NjYgLTcxbDEwMiAtMjEyaDgyM3EyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBxMCAtMjEgLTE0IC00MHQtMzMgLTI2bC03MzcgLTEzMnEtMjMgLTQgLTQwIDZ0LTI2IDI1cS00MiA2NyAtMTAwIDY3aC0zMDBxLTYyIDAgLTEwNiA0NCB0LTQ0IDEwNnYyMDBxMCA2MiA0NCAxMDZ0MTA2IDQ0ek0xNzMgOTI4aC04MHEtMTkgMCAtMjggLTE0dC05IC0zNXYtNTZxMCAtNTEgNDIgLTUxaDEzNHExNiAwIDIxLjUgOHQ1LjUgMjRxMCAxMSAtMTYgNDV0LTI3IDUxcS0xOCAyOCAtNDMgMjh6TTU1MCA3MjdxLTMyIDAgLTU0LjUgLTIyLjV0LTIyLjUgLTU0LjV0MjIuNSAtNTQuNXQ1NC41IC0yMi41dDU0LjUgMjIuNXQyMi41IDU0LjV0LTIyLjUgNTQuNXQtNTQuNSAyMi41ek0xMzAgMzg5IGwxNTIgMTMwcTE4IDE5IDM0IDI0dDMxIC0zLjV0MjQuNSAtMTcuNXQyNS41IC0yOHEyOCAtMzUgNTAuNSAtNTF0NDguNSAtMTNsNjMgNWw0OCAtMTc5cTEzIC02MSAtMy41IC05Ny41dC02Ny41IC03OS41bC04MCAtNjlxLTQ3IC00MCAtMTA5IC0zNS41dC0xMDMgNTEuNWwtMTMwIDE1MXEtNDAgNDcgLTM1LjUgMTA5LjV0NTEuNSAxMDIuNXpNMzgwIDM3N2wtMTAyIC04OHEtMzEgLTI3IDIgLTY1bDM3IC00M3ExMyAtMTUgMjcuNSAtMTkuNSB0MzEuNSA2LjVsNjEgNTNxMTkgMTYgMTQgNDlxLTIgMjAgLTEyIDU2dC0xNyA0NXEtMTEgMTIgLTE5IDE0dC0yMyAtOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjI3OyIgZD0iTTYyNSAxMjAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTEwOXE3OSAtMzMgMTMxIC04Ny41dDUzIC0xMjguNXExIC00NiAtMTUgLTg0LjV0LTM5IC02MXQtNDYgLTM4dC0zOSAtMjEuNWwtMTcgLTZxNiAwIDE1IC0xLjV0MzUgLTl0NTAgLTE3LjV0NTMgLTMwdDUwIC00NXQzNS41IC02NHQxNC41IC04NHEwIC01OSAtMTEuNSAtMTA1LjV0LTI4LjUgLTc2LjV0LTQ0IC01MXQtNDkuNSAtMzEuNXQtNTQuNSAtMTZ0LTQ5LjUgLTYuNSB0LTQzLjUgLTF2LTc1cTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NzVoLTEwMHYtNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY3NWgtMTc1cS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNzV2NjAwaC03NXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxNzV2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di03NWgxMDB2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDAwIDkwMHYtMjAwaDI2M3EyOCAwIDQ4LjUgMTAuNXQzMCAyNXQxNSAyOXQ1LjUgMjUuNWwxIDEwcTAgNCAtMC41IDExdC02IDI0dC0xNSAzMHQtMzAgMjR0LTQ4LjUgMTFoLTI2M3pNNDAwIDUwMHYtMjAwaDM2M3EyOCAwIDQ4LjUgMTAuNSB0MzAgMjV0MTUgMjl0NS41IDI1LjVsMSAxMHEwIDQgLTAuNSAxMXQtNiAyNHQtMTUgMzB0LTMwIDI0dC00OC41IDExaC0zNjN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzMDsiIGQ9Ik0yMTIgMTE5OGg3ODBxODYgMCAxNDcgLTYxdDYxIC0xNDd2LTQxNnEwIC01MSAtMTggLTE0Mi41dC0zNiAtMTU3LjVsLTE4IC02NnEtMjkgLTg3IC05My41IC0xNDYuNXQtMTQ2LjUgLTU5LjVoLTU3MnEtODIgMCAtMTQ3IDU5dC05MyAxNDdxLTggMjggLTIwIDczdC0zMiAxNDMuNXQtMjAgMTQ5LjV2NDE2cTAgODYgNjEgMTQ3dDE0NyA2MXpNNjAwIDEwNDVxLTcwIDAgLTEzMi41IC0xMS41dC0xMDUuNSAtMzAuNXQtNzguNSAtNDEuNSB0LTU3IC00NXQtMzYgLTQxdC0yMC41IC0zMC41bC02IC0xMmwxNTYgLTI0M2g1NjBsMTU2IDI0M3EtMiA1IC02IDEyLjV0LTIwIDI5LjV0LTM2LjUgNDJ0LTU3IDQ0LjV0LTc5IDQydC0xMDUgMjkuNXQtMTMyLjUgMTJ6TTc2MiA3MDNoLTE1N2wxOTUgMjYxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzE7IiBkPSJNNDc1IDEzMDBoMTUwcTEwMyAwIDE4OSAtODZ0ODYgLTE4OXYtNTAwcTAgLTQxIC00MiAtODN0LTgzIC00MmgtNDUwcS00MSAwIC04MyA0MnQtNDIgODN2NTAwcTAgMTAzIDg2IDE4OXQxODkgODZ6TTcwMCAzMDB2LTIyNXEwIC0yMSAtMjcgLTQ4dC00OCAtMjdoLTE1MHEtMjEgMCAtNDggMjd0LTI3IDQ4djIyNWgzMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzMjsiIGQ9Ik00NzUgMTMwMGg5NnEwIC0xNTAgODkuNSAtMjM5LjV0MjM5LjUgLTg5LjV2LTQ0NnEwIC00MSAtNDIgLTgzdC04MyAtNDJoLTQ1MHEtNDEgMCAtODMgNDJ0LTQyIDgzdjUwMHEwIDEwMyA4NiAxODl0MTg5IDg2ek03MDAgMzAwdi0yMjVxMCAtMjEgLTI3IC00OHQtNDggLTI3aC0xNTBxLTIxIDAgLTQ4IDI3dC0yNyA0OHYyMjVoMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzM7IiBkPSJNMTI5NCA3NjdsLTYzOCAtMjgzbC0zNzggMTcwbC03OCAtNjB2LTIyNGwxMDAgLTE1MHYtMTk5bC0xNTAgMTQ4bC0xNTAgLTE0OXYyMDBsMTAwIDE1MHYyNTBxMCA0IC0wLjUgMTAuNXQwIDkuNXQxIDh0MyA4dDYuNSA2bDQ3IDQwbC0xNDcgNjVsNjQyIDI4M3pNMTAwMCAzODBsLTM1MCAtMTY2bC0zNTAgMTY2djE0N2wzNTAgLTE2NWwzNTAgMTY1di0xNDd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzNDsiIGQ9Ik0yNTAgODAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek02NTAgODAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek0xMDUwIDgwMHE2MiAwIDEwNiAtNDR0NDQgLTEwNnQtNDQgLTEwNnQtMTA2IC00NHQtMTA2IDQ0dC00NCAxMDZ0NDQgMTA2dDEwNiA0NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjM1OyIgZD0iTTU1MCAxMTAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek01NTAgNzAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek01NTAgMzAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzY7IiBkPSJNMTI1IDExMDBoOTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtOTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEyNSA3MDBoOTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtOTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjUgdDE3LjUgNy41ek0xMjUgMzAwaDk1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTk1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzc7IiBkPSJNMzUwIDEyMDBoNTAwcTE2MiAwIDI1NiAtOTMuNXQ5NCAtMjU2LjV2LTUwMHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNTAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY1MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41ek05MDAgMTAwMGgtNjAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di02MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDYwMHE0MSAwIDcwLjUgMjkuNSB0MjkuNSA3MC41djYwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNMzUwIDkwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYzMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek00MDAgODAwdi0yMDBoNDAwdjIwMGgtNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzg7IiBkPSJNMTUwIDExMDBoMTAwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNSB0LTM1LjUgLTE0LjVoLTEwMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2MjAwaC01MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV0MTQuNSAzNS41dDM1LjUgMTQuNWg1MHYyMDBoLTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41aDUwdjIwMGgtNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzOTsiIGQ9Ik02NTAgMTE4N3E4NyAtNjcgMTE4LjUgLTE1NnQwIC0xNzh0LTExOC41IC0xNTVxLTg3IDY2IC0xMTguNSAxNTV0MCAxNzh0MTE4LjUgMTU2ek0zMDAgODAwcTEyNCAwIDIxMiAtODh0ODggLTIxMnEtMTI0IDAgLTIxMiA4OHQtODggMjEyek0xMDAwIDgwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhxMCAxMjQgODggMjEydDIxMiA4OHpNMzAwIDUwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnogTTEwMDAgNTAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek03MDAgMTk5di0xNDRxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjV0LTM1LjUgMTQuNXQtMTQuNSAzNS41djE0MnE0MCAtNCA0MyAtNHExNyAwIDU3IDZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0MDsiIGQ9Ik03NDUgODc4bDY5IDE5cTI1IDYgNDUgLTEybDI5OCAtMjk1cTExIC0xMSAxNSAtMjYuNXQtMiAtMzAuNXEtNSAtMTQgLTE4IC0yMy41dC0yOCAtOS41aC04cTEgMCAxIC0xM3EwIC0yOSAtMiAtNTZ0LTguNSAtNjJ0LTIwIC02M3QtMzMgLTUzdC01MSAtMzl0LTcyLjUgLTE0aC0xNDZxLTE4NCAwIC0xODQgMjg4cTAgMjQgMTAgNDdxLTIwIDQgLTYyIDR0LTYzIC00cTExIC0yNCAxMSAtNDdxMCAtMjg4IC0xODQgLTI4OGgtMTQyIHEtNDggMCAtODQuNSAyMXQtNTYgNTF0LTMyIDcxLjV0LTE2IDc1dC0zLjUgNjguNXEwIDEzIDIgMTNoLTdxLTE1IDAgLTI3LjUgOS41dC0xOC41IDIzLjVxLTYgMTUgLTIgMzAuNXQxNSAyNS41bDI5OCAyOTZxMjAgMTggNDYgMTFsNzYgLTE5cTIwIC01IDMwLjUgLTIyLjV0NS41IC0zNy41dC0yMi41IC0zMXQtMzcuNSAtNWwtNTEgMTJsLTE4MiAtMTkzaDg5MWwtMTgyIDE5M2wtNDQgLTEycS0yMCAtNSAtMzcuNSA2dC0yMi41IDMxdDYgMzcuNSB0MzEgMjIuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjQxOyIgZD0iTTEyMDAgOTAwaC01MHEwIDIxIC00IDM3dC05LjUgMjYuNXQtMTggMTcuNXQtMjIgMTF0LTI4LjUgNS41dC0zMSAydC0zNyAwLjVoLTIwMHYtODUwcTAgLTIyIDI1IC0zNC41dDUwIC0xMy41bDI1IC0ydi0xMDBoLTQwMHYxMDBxNCAwIDExIDAuNXQyNCAzdDMwIDd0MjQgMTV0MTEgMjQuNXY4NTBoLTIwMHEtMjUgMCAtMzcgLTAuNXQtMzEgLTJ0LTI4LjUgLTUuNXQtMjIgLTExdC0xOCAtMTcuNXQtOS41IC0yNi41dC00IC0zN2gtNTB2MzAwIGgxMDAwdi0zMDB6TTUwMCA0NTBoLTI1cTAgMTUgLTQgMjQuNXQtOSAxNC41dC0xNyA3LjV0LTIwIDN0LTI1IDAuNWgtMTAwdi00MjVxMCAtMTEgMTIuNSAtMTcuNXQyNS41IC03LjVoMTJ2LTUwaC0yMDB2NTBxNTAgMCA1MCAyNXY0MjVoLTEwMHEtMTcgMCAtMjUgLTAuNXQtMjAgLTN0LTE3IC03LjV0LTkgLTE0LjV0LTQgLTI0LjVoLTI1djE1MGg1MDB2LTE1MHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjQyOyIgZD0iTTEwMDAgMzAwdjUwcS0yNSAwIC01NSAzMnEtMTQgMTQgLTI1IDMxdC0xNiAyN2wtNCAxMWwtMjg5IDc0N2gtNjlsLTMwMCAtNzU0cS0xOCAtMzUgLTM5IC01NnEtOSAtOSAtMjQuNSAtMTguNXQtMjYuNSAtMTQuNWwtMTEgLTV2LTUwaDI3M3Y1MHEtNDkgMCAtNzguNSAyMS41dC0xMS41IDY3LjVsNjkgMTc2aDI5M2w2MSAtMTY2cTEzIC0zNCAtMy41IC02Ni41dC01NS41IC0zMi41di01MGgzMTJ6TTQxMiA2OTFsMTM0IDM0MmwxMjEgLTM0MiBoLTI1NXpNMTEwMCAxNTB2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNDM7IiBkPSJNNTAgMTIwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNjExIDExMThoLTcwcS0xMyAwIC0xOCAtMTJsLTI5OSAtNzUzcS0xNyAtMzIgLTM1IC01MXEtMTggLTE4IC01NiAtMzRxLTEyIC01IC0xMiAtMTh2LTUwcTAgLTggNS41IC0xNHQxNC41IC02IGgyNzNxOCAwIDE0IDZ0NiAxNHY1MHEwIDggLTYgMTR0LTE0IDZxLTU1IDAgLTcxIDIzcS0xMCAxNCAwIDM5bDYzIDE2M2gyNjZsNTcgLTE1M3ExMSAtMzEgLTYgLTU1cS0xMiAtMTcgLTM2IC0xN3EtOCAwIC0xNCAtNnQtNiAtMTR2LTUwcTAgLTggNiAtMTR0MTQgLTZoMzEzcTggMCAxNCA2dDYgMTR2NTBxMCA3IC01LjUgMTN0LTEzLjUgN3EtMTcgMCAtNDIgMjVxLTI1IDI3IC00MCA2M2gtMWwtMjg4IDc0OHEtNSAxMiAtMTkgMTJ6TTYzOSA2MTEgaC0xOTdsMTAzIDI2NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjQ0OyIgZD0iTTEyMDAgMTEwMGgtMTIwMHYxMDBoMTIwMHYtMTAwek01MCAxMDAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtOTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djkwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCAxMDAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDAgcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek03MDAgOTAwdi0zMDBoMzAwdjMwMGgtMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNDU7IiBkPSJNNTAgMTIwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTkwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY5MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek02NTAgNzAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek03MDAgNjAwdi0zMDBoMzAwdjMwMGgtMzAwek0xMjAwIDBoLTEyMDB2MTAwaDEyMDB2LTEwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjQ2OyIgZD0iTTUwIDEwMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0zNTBoMTAwdjE1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoMTAwdi0xMDBoLTEwMHYtMTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djE1MGgtMTAwdi0zNTBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTcwMCA3MDB2LTMwMGgzMDB2MzAwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0NzsiIGQ9Ik0xMDAgMGgtMTAwdjEyMDBoMTAwdi0xMjAwek0yNTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zMDAgMTAwMHYtMzAwaDMwMHYzMDBoLTMwMHpNMjUwIDUwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTkwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjQ4OyIgZD0iTTYwMCAxMTAwaDE1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xNTB2LTEwMGg0NTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtOTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDM1MHYxMDBoLTE1MHEtMjEgMCAtMzUuNSAxNC41IHQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMTUwdjEwMGgxMDB2LTEwMHpNNDAwIDEwMDB2LTMwMGgzMDB2MzAwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0OTsiIGQ9Ik0xMjAwIDBoLTEwMHYxMjAwaDEwMHYtMTIwMHpNNTUwIDExMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNjAwIDEwMDB2LTMwMGgzMDB2MzAwaC0zMDB6TTUwIDUwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTkwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjUwOyIgZD0iTTg2NSA1NjVsLTQ5NCAtNDk0cS0yMyAtMjMgLTQxIC0yM3EtMTQgMCAtMjIgMTMuNXQtOCAzOC41djEwMDBxMCAyNSA4IDM4LjV0MjIgMTMuNXExOCAwIDQxIC0yM2w0OTQgLTQ5NHExNCAtMTQgMTQgLTM1dC0xNCAtMzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI1MTsiIGQ9Ik0zMzUgNjM1bDQ5NCA0OTRxMjkgMjkgNTAgMjAuNXQyMSAtNDkuNXYtMTAwMHEwIC00MSAtMjEgLTQ5LjV0LTUwIDIwLjVsLTQ5NCA0OTRxLTE0IDE0IC0xNCAzNXQxNCAzNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjUyOyIgZD0iTTEwMCA5MDBoMTAwMHE0MSAwIDQ5LjUgLTIxdC0yMC41IC01MGwtNDk0IC00OTRxLTE0IC0xNCAtMzUgLTE0dC0zNSAxNGwtNDk0IDQ5NHEtMjkgMjkgLTIwLjUgNTB0NDkuNSAyMXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjUzOyIgZD0iTTYzNSA4NjVsNDk0IC00OTRxMjkgLTI5IDIwLjUgLTUwdC00OS41IC0yMWgtMTAwMHEtNDEgMCAtNDkuNSAyMXQyMC41IDUwbDQ5NCA0OTRxMTQgMTQgMzUgMTR0MzUgLTE0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNTQ7IiBkPSJNNzAwIDc0MXYtMTgybC02OTIgLTMyM3YyMjFsNDEzIDE5M2wtNDEzIDE5M3YyMjF6TTEyMDAgMGgtODAwdjIwMGg4MDB2LTIwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjU1OyIgZD0iTTEyMDAgOTAwaC0yMDB2LTEwMGgyMDB2LTEwMGgtMzAwdjMwMGgyMDB2MTAwaC0yMDB2MTAwaDMwMHYtMzAwek0wIDcwMGg1MHEwIDIxIDQgMzd0OS41IDI2LjV0MTggMTcuNXQyMiAxMXQyOC41IDUuNXQzMSAydDM3IDAuNWgxMDB2LTU1MHEwIC0yMiAtMjUgLTM0LjV0LTUwIC0xMy41bC0yNSAtMnYtMTAwaDQwMHYxMDBxLTQgMCAtMTEgMC41dC0yNCAzdC0zMCA3dC0yNCAxNXQtMTEgMjQuNXY1NTBoMTAwcTI1IDAgMzcgLTAuNXQzMSAtMiB0MjguNSAtNS41dDIyIC0xMXQxOCAtMTcuNXQ5LjUgLTI2LjV0NCAtMzdoNTB2MzAwaC04MDB2LTMwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjU2OyIgZD0iTTgwMCA3MDBoLTUwcTAgMjEgLTQgMzd0LTkuNSAyNi41dC0xOCAxNy41dC0yMiAxMXQtMjguNSA1LjV0LTMxIDJ0LTM3IDAuNWgtMTAwdi01NTBxMCAtMjIgMjUgLTM0LjV0NTAgLTE0LjVsMjUgLTF2LTEwMGgtNDAwdjEwMHE0IDAgMTEgMC41dDI0IDN0MzAgN3QyNCAxNXQxMSAyNC41djU1MGgtMTAwcS0yNSAwIC0zNyAtMC41dC0zMSAtMnQtMjguNSAtNS41dC0yMiAtMTF0LTE4IC0xNy41dC05LjUgLTI2LjV0LTQgLTM3aC01MHYzMDAgaDgwMHYtMzAwek0xMTAwIDIwMGgtMjAwdi0xMDBoMjAwdi0xMDBoLTMwMHYzMDBoMjAwdjEwMGgtMjAwdjEwMGgzMDB2LTMwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjU3OyIgZD0iTTcwMSAxMDk4aDE2MHExNiAwIDIxIC0xMXQtNyAtMjNsLTQ2NCAtNDY0bDQ2NCAtNDY0cTEyIC0xMiA3IC0yM3QtMjEgLTExaC0xNjBxLTEzIDAgLTIzIDlsLTQ3MSA0NzFxLTcgOCAtNyAxOHQ3IDE4bDQ3MSA0NzFxMTAgOSAyMyA5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNTg7IiBkPSJNMzM5IDEwOThoMTYwcTEzIDAgMjMgLTlsNDcxIC00NzFxNyAtOCA3IC0xOHQtNyAtMThsLTQ3MSAtNDcxcS0xMCAtOSAtMjMgLTloLTE2MHEtMTYgMCAtMjEgMTF0NyAyM2w0NjQgNDY0bC00NjQgNDY0cS0xMiAxMiAtNyAyM3QyMSAxMXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjU5OyIgZD0iTTEwODcgODgycTExIC01IDExIC0yMXYtMTYwcTAgLTEzIC05IC0yM2wtNDcxIC00NzFxLTggLTcgLTE4IC03dC0xOCA3bC00NzEgNDcxcS05IDEwIC05IDIzdjE2MHEwIDE2IDExIDIxdDIzIC03bDQ2NCAtNDY0bDQ2NCA0NjRxMTIgMTIgMjMgN3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjYwOyIgZD0iTTYxOCA5OTNsNDcxIC00NzFxOSAtMTAgOSAtMjN2LTE2MHEwIC0xNiAtMTEgLTIxdC0yMyA3bC00NjQgNDY0bC00NjQgLTQ2NHEtMTIgLTEyIC0yMyAtN3QtMTEgMjF2MTYwcTAgMTMgOSAyM2w0NzEgNDcxcTggNyAxOCA3dDE4IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGY4ZmY7IiBkPSJNMTAwMCAxMjAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek00NTAgMTAwMGgxMDBxMjEgMCA0MCAtMTR0MjYgLTMzbDc5IC0xOTRxNSAxIDE2IDNxMzQgNiA1NCA5LjV0NjAgN3Q2NS41IDF0NjEgLTEwdDU2LjUgLTIzdDQyLjUgLTQydDI5IC02NHQ1IC05MnQtMTkuNSAtMTIxLjVxLTEgLTcgLTMgLTE5LjV0LTExIC01MHQtMjAuNSAtNzN0LTMyLjUgLTgxLjV0LTQ2LjUgLTgzdC02NCAtNzAgdC04Mi41IC01MHEtMTMgLTUgLTQyIC01dC02NS41IDIuNXQtNDcuNSAyLjVxLTE0IDAgLTQ5LjUgLTMuNXQtNjMgLTMuNXQtNDMuNSA3cS01NyAyNSAtMTA0LjUgNzguNXQtNzUgMTExLjV0LTQ2LjUgMTEydC0yNiA5MGwtNyAzNXEtMTUgNjMgLTE4IDExNXQ0LjUgODguNXQyNiA2NHQzOS41IDQzLjV0NTIgMjUuNXQ1OC41IDEzdDYyLjUgMnQ1OS41IC00LjV0NTUuNSAtOGwtMTQ3IDE5MnEtMTIgMTggLTUuNSAzMHQyNy41IDEyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDFmNTExOyIgZD0iTTI1MCAxMjAwaDYwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xNTB2LTUwMGwtMjU1IC0xNzhxLTE5IC05IC0zMiAtMXQtMTMgMjl2NjUwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQwMCAxMTAwdi0xMDBoMzAwdjEwMGgtMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDFmNmFhOyIgZD0iTTI1MCAxMjAwaDc1MHEzOSAwIDY5LjUgLTQwLjV0MzAuNSAtODQuNXYtOTMzbC03MDAgLTExN3Y5NTBsNjAwIDEyNWgtNzAwdi0xMDAwaC0xMDB2MTAyNXEwIDIzIDE1LjUgNDl0MzQuNSAyNnpNNTAwIDUyNXYtMTAwbDEwMCAyMHYxMDB6IiAvPgo8L2ZvbnQ+CjwvZGVmcz48L3N2Zz4g) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.33px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:3;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} -</style> -<script>/*! - * Bootstrap v3.3.5 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under the MIT license - */ -if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.5",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.5",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.5",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.5",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k.right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.5",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.5",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")), -d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.5",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);</script> -<script>/** -* @preserve HTML5 Shiv 3.7.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed -*/ -// Only run this code in IE 8 -if (!!window.navigator.userAgent.match("MSIE 8")) { -!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.2",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b)}(this,document); -}; -</script> -<script>/*! Respond.js v1.4.2: min/max-width media query polyfill * Copyright 2013 Scott Jehl - * Licensed under https://github.com/scottjehl/Respond/blob/master/LICENSE-MIT - * */ - -// Only run this code in IE 8 -if (!!window.navigator.userAgent.match("MSIE 8")) { -!function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='­<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){u(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))};if(c.ajax=f,c.queue=d,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,maxw:/\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var g,h,i,j=a.document,k=j.documentElement,l=[],m=[],n=[],o={},p=30,q=j.getElementsByTagName("head")[0]||k,r=j.getElementsByTagName("base")[0],s=q.getElementsByTagName("link"),t=function(){var a,b=j.createElement("div"),c=j.body,d=k.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=j.createElement("body"),c.style.background="none"),k.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&k.insertBefore(c,k.firstChild),a=b.offsetWidth,f?k.removeChild(c):c.removeChild(b),k.style.fontSize=d,e&&(c.style.fontSize=e),a=i=parseFloat(a)},u=function(b){var c="clientWidth",d=k[c],e="CSS1Compat"===j.compatMode&&d||j.body[c]||d,f={},o=s[s.length-1],r=(new Date).getTime();if(b&&g&&p>r-g)return a.clearTimeout(h),h=a.setTimeout(u,p),void 0;g=r;for(var v in l)if(l.hasOwnProperty(v)){var w=l[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?i||t():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?i||t():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(m[w.rules]))}for(var C in n)n.hasOwnProperty(C)&&n[C]&&n[C].parentNode===q&&q.removeChild(n[C]);n.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=j.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,q.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(j.createTextNode(F)),n.push(E)}},v=function(a,b,d){var e=a.replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var g=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},h=!f&&d;b.length&&(b+="/"),h&&(f=1);for(var i=0;f>i;i++){var j,k,n,o;h?(j=d,m.push(g(a))):(j=e[i].match(c.regex.findStyles)&&RegExp.$1,m.push(RegExp.$2&&g(RegExp.$2))),n=j.split(","),o=n.length;for(var p=0;o>p;p++)k=n[p],l.push({media:k.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:m.length-1,hasquery:k.indexOf("(")>-1,minw:k.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:k.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},w=function(){if(d.length){var b=d.shift();f(b.href,function(c){v(c,b.href,b.media),o[b.href]=!0,a.setTimeout(function(){w()},0)})}},x=function(){for(var b=0;b<s.length;b++){var c=s[b],e=c.href,f=c.media,g=c.rel&&"stylesheet"===c.rel.toLowerCase();e&&g&&!o[e]&&(c.styleSheet&&c.styleSheet.rawCssText?(v(c.styleSheet.rawCssText,e,f),o[e]=!0):(!/^([a-zA-Z:]*\/\/)/.test(e)&&!r||e.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&("//"===e.substring(0,2)&&(e=a.location.protocol+e),d.push({href:e,media:f})))}w()};x(),c.update=x,c.getEmValue=t,a.addEventListener?a.addEventListener("resize",b,!1):a.attachEvent&&a.attachEvent("onresize",b)}}(this); -}; -</script> -<script> - -/** - * jQuery Plugin: Sticky Tabs - * - * @author Aidan Lister <aidan@php.net> - * adapted by Ruben Arslan to activate parent tabs too - * http://www.aidanlister.com/2014/03/persisting-the-tab-state-in-bootstrap/ - */ -(function($) { - "use strict"; - $.fn.rmarkdownStickyTabs = function() { - var context = this; - // Show the tab corresponding with the hash in the URL, or the first tab - var showStuffFromHash = function() { - var hash = window.location.hash; - var selector = hash ? 'a[href="' + hash + '"]' : 'li.active > a'; - var $selector = $(selector, context); - if($selector.data('toggle') === "tab") { - $selector.tab('show'); - // walk up the ancestors of this element, show any hidden tabs - $selector.parents('.section.tabset').each(function(i, elm) { - var link = $('a[href="#' + $(elm).attr('id') + '"]'); - if(link.data('toggle') === "tab") { - link.tab("show"); - } - }); - } - }; - - - // Set the correct tab when the page loads - showStuffFromHash(context); - - // Set the correct tab when a user uses their back/forward button - $(window).on('hashchange', function() { - showStuffFromHash(context); - }); - - // Change the URL when tabs are clicked - $('a', context).on('click', function(e) { - history.pushState(null, null, this.href); - showStuffFromHash(context); - }); - - return this; - }; -}(jQuery)); - -window.buildTabsets = function(tocID) { - - // build a tabset from a section div with the .tabset class - function buildTabset(tabset) { - - // check for fade and pills options - var fade = tabset.hasClass("tabset-fade"); - var pills = tabset.hasClass("tabset-pills"); - var navClass = pills ? "nav-pills" : "nav-tabs"; - - // determine the heading level of the tabset and tabs - var match = tabset.attr('class').match(/level(\d) /); - if (match === null) - return; - var tabsetLevel = Number(match[1]); - var tabLevel = tabsetLevel + 1; - - // find all subheadings immediately below - var tabs = tabset.find("div.section.level" + tabLevel); - if (!tabs.length) - return; - - // create tablist and tab-content elements - var tabList = $('<ul class="nav ' + navClass + '" role="tablist"></ul>'); - $(tabs[0]).before(tabList); - var tabContent = $('<div class="tab-content"></div>'); - $(tabs[0]).before(tabContent); - - // build the tabset - var activeTab = 0; - tabs.each(function(i) { - - // get the tab div - var tab = $(tabs[i]); - - // get the id then sanitize it for use with bootstrap tabs - var id = tab.attr('id'); - - // see if this is marked as the active tab - if (tab.hasClass('active')) - activeTab = i; - - // remove any table of contents entries associated with - // this ID (since we'll be removing the heading element) - $("div#" + tocID + " li a[href='#" + id + "']").parent().remove(); - - // sanitize the id for use with bootstrap tabs - id = id.replace(/[.\/?&!#<>]/g, '').replace(/\s/g, '_'); - tab.attr('id', id); - - // get the heading element within it, grab it's text, then remove it - var heading = tab.find('h' + tabLevel + ':first'); - var headingText = heading.html(); - heading.remove(); - - // build and append the tab list item - var a = $('<a role="tab" data-toggle="tab">' + headingText + '</a>'); - a.attr('href', '#' + id); - a.attr('aria-controls', id); - var li = $('<li role="presentation"></li>'); - li.append(a); - tabList.append(li); - - // set it's attributes - tab.attr('role', 'tabpanel'); - tab.addClass('tab-pane'); - tab.addClass('tabbed-pane'); - if (fade) - tab.addClass('fade'); - - // move it into the tab content div - tab.detach().appendTo(tabContent); - }); - - // set active tab - $(tabList.children('li')[activeTab]).addClass('active'); - var active = $(tabContent.children('div.section')[activeTab]); - active.addClass('active'); - if (fade) - active.addClass('in'); - - if (tabset.hasClass("tabset-sticky")) - tabset.rmarkdownStickyTabs(); - } - - // convert section divs with the .tabset class to tabsets - var tabsets = $("div.section.tabset"); - tabsets.each(function(i) { - buildTabset($(tabsets[i])); - }); -}; - -</script> -<style type="text/css">.hljs-literal { -color: #990073; -} -.hljs-number { -color: #099; -} -.hljs-comment { -color: #998; -font-style: italic; -} -.hljs-keyword { -color: #900; -font-weight: bold; -} -.hljs-string { -color: #d14; -} -</style> -<script src="data:application/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"> - -</style> -<script type="text/javascript"> -if (window.hljs) { - hljs.configure({languages: []}); - hljs.initHighlightingOnLoad(); - if (document.readyState && document.readyState === "complete") { - window.setTimeout(function() { hljs.initHighlighting(); }, 0); - } -} -</script> - - - -<style type="text/css"> -h1 { - font-size: 34px; -} -h1.title { - font-size: 38px; -} -h2 { - font-size: 30px; -} -h3 { - font-size: 24px; -} -h4 { - font-size: 18px; -} -h5 { - font-size: 16px; -} -h6 { - font-size: 12px; -} -.table th:not([align]) { - text-align: left; -} -</style> - -<style type="text/css">body { -margin: 0px auto; -max-width: 1134px; -font-family: sans-serif; -font-size: 10pt; -} - -div#TOC ul { -padding: 0px 0px 0px 45px; -list-style: none; -background-image: none; -background-repeat: none; -background-position: 0; -font-size: 10pt; -font-family: Helvetica, Arial, sans-serif; -} -div#TOC > ul { -padding: 0px 150px 0px 65px; -font-size: 12pt; -} -div#TOC > ul > li { -padding: 5px 0px 0px 0px; -} -div#TOC ul ul { -font-size: 11pt; -} -div#TOC.tocify ul { -padding: 0px; -font-size: inherit; -font-family: inherit; -} -div#TOC.tocify li { -padding: 5px; -font-size: inherit; -font-family: inherit; -} -p, dl { -padding: 0px 150px 0px 65px; -text-align: justify; -} - -p, img, table { -margin-top: 10px; -margin-bottom: 10px; -} - -ol, ul { -padding: 0px 150px 0px 100px; -list-style: square; -} -li ol, li ul { -padding: 0px 0px 0px 35px; -} -li p { -padding: 0; -} -pre { -margin: 0em 150px 0.5em 0em; -padding: 0px 0px 0px 65px; -border: 0px none; -background-color: #f0f0f0; -white-space: pre; -overflow-x: auto; -font-size: 90%; -} -li pre { -margin: 0em 0px 0.5em -65px; -padding: 0px 0px 0px 65px; -} -pre code { -background-color: inherit; -display: block; -padding: 10px 10px 10px 0px; -overflow-x: inherit; -font-size: 100%; -} - -pre code[class] { -background-color: inherit; -} - -pre[class] code { -background-color: inherit; -} -tt, code, pre { -font-family: 'DejaVu Sans Mono', 'Droid Sans Mono', 'Lucida Console', Consolas, Monaco, monospace; -} -h1, h2, h3, h4, h5, h6 { -font-family: Helvetica, Arial, sans-serif; -margin: 1.2em 150px 0.6em 0em; - -padding-left: 65px; -text-indent: -65px; -} -h1.title { -color: #87b13f; -line-height: 1.1em; -margin-top: 25px; -border-bottom: 0px; -} -h1 { -line-height: 1.4em; -border-bottom: 1px #1a81c2 solid; -} -h1, h2, h3 { -color: #1a81c2; -} -h1 { -font-size: 18.0pt; -} -h2 { -font-size: 14.5pt; -} -h3, h4 { -font-size: 12pt; -} -span.header-section-number { -float: left; -width: 65px; -} - -p.author-name { -font-size: 14.5pt; -font-weight: bold; -font-style: italic; -text-align: left; -} -.date { -text-indent: 0px; -font-weight: bold; -} -.abstract, .package { -font-weight: bold; -} - -code { -background-color: #f0f0f0; -color: #404040; -font-size: 90%; -} - -.figure { -margin: 0em 0px 0.5em; -} -img { -max-width: 100%; -display: block; -padding: 0px 150px 0px 130px; -} -p > img { -padding-left: 65px; -padding-right: 0px; -} -td > img { -padding: 0px; -max-width: 100%; -display: inline; -} -img.smallfigure { -padding-left: 195px; -padding-right: 280px; -} -p > img.smallfigure { -padding-left: 130px; -padding-right: 130px; -} -img.widefigure { -padding-left: 65px; -padding-right: 85px; -margin-right: -65px; -} -p > img.widefigure { -padding-left: 0px; -padding-right: 0px; -margin-right: -65px; -} -p.caption, caption { -color: inherit; -font-size: 8pt; -} -p.caption { -padding-left: 130px; -padding-right: 85px; -margin-bottom: 20px; -} -caption { -padding: 0px; -margin-bottom: 10px; -min-width: 583; -} -span.caption-title { -color: #1a81c2; -font-weight: bold; -} -span.caption-label { -font-weight: bold; -} - -table { -margin-left: 130px; -margin-right: 85px; -} -.table { -max-width: 518px; -} - -dd { -margin-left: 65px; -margin-bottom: 10px; -} - -.code-folding-btn { -position: relative; -margin-top: -26px; -top: 26px; -} -.col-md-12 { -min-height: 0px; -} - -.sidenote { -float: right; -clear: right; -margin-right: -150px; -width: 130px; -margin-top: 0; -margin-bottom: 1rem; -font-size: 8pt; -line-height: 1.3; -vertical-align: baseline; -position: relative; -text-align: left; -} -.sidenote-number, .affil-mark { -position: relative; -vertical-align: super; -font-size: 7.5pt; -font-weight: normal; -font-style: normal; -line-height: normal; -} -input.margin-toggle { display: none; } -label.sidenote-number { display: inline; } -label.margin-toggle:not(.sidenote-number) { display: none; } - -code > span.kw { color: #E07020; } -code > span.dt { color: #404040; } -code > span.dv { color: #D02070; } -code > span.bn { color: #d14; } -code > span.fl { color: #D02070; } -code > span.ch { color: #40A040; } -code > span.st { color: #40A040; } -code > span.co { color: #808080; font-style: italic; } -code > span.ot { color: #2020F0; } -code > span.al { color: #ff0000; font-weight: bold; } -code > span.fu { color: #E07020; } -code > span.er { color: #FF0000; } -code > span.identifier { color: #404040; } -code > span.number { color: #D02070; } -code > span.string { color: #40A040; } -code > span.comment { color: #808080; font-style: italic; } -code > span.keyword { color: #2020F0; } -code > span.literal { color: #2020F0; } -code > span.operator { color: #000000;} -code > span.paren { color: #000000;} - -.js-plotly-plot .plotly { -padding-left: 65px; -} -</style> - - - -<style type="text/css"> -.main-container { - max-width: 828px; - margin-left: auto; - margin-right: auto; -} - -img { - max-width:100%; -} -.tabbed-pane { - padding-top: 12px; -} -.html-widget { - margin-bottom: 20px; -} -button.code-folding-btn:focus { - outline: none; -} -summary { - display: list-item; -} -</style> - - - -<!-- tabsets --> - -<style type="text/css"> -.tabset-dropdown > .nav-tabs { - display: inline-table; - max-height: 500px; - min-height: 44px; - overflow-y: auto; - background: white; - border: 1px solid #ddd; - border-radius: 4px; -} - -.tabset-dropdown > .nav-tabs > li.active:before { - content: ""; - font-family: 'Glyphicons Halflings'; - display: inline-block; - padding: 10px; - border-right: 1px solid #ddd; -} - -.tabset-dropdown > .nav-tabs.nav-tabs-open > li.active:before { - content: ""; - border: none; -} - -.tabset-dropdown > .nav-tabs.nav-tabs-open:before { - content: ""; - font-family: 'Glyphicons Halflings'; - display: inline-block; - padding: 10px; - border-right: 1px solid #ddd; -} - -.tabset-dropdown > .nav-tabs > li.active { - display: block; -} - -.tabset-dropdown > .nav-tabs > li > a, -.tabset-dropdown > .nav-tabs > li > a:focus, -.tabset-dropdown > .nav-tabs > li > a:hover { - border: none; - display: inline-block; - border-radius: 4px; - background-color: transparent; -} - -.tabset-dropdown > .nav-tabs.nav-tabs-open > li { - display: block; - float: none; -} - -.tabset-dropdown > .nav-tabs > li { - display: none; -} -</style> - -<!-- code folding --> - - - - -</head> - -<body> - - -<div class="container-fluid main-container"> - - - - -<div class="fluid-row" id="header"> - - - -<h1 class="title toc-ignore">Using multicrispr for gRNA design</h1> -<p class="author-name">Aditya M Bhagwat</p> -<h4 class="date">2020-04-23</h4> - -</div> - -<h1>Contents</h1> -<div id="TOC"> -<ul> -<li><a href="#background"><span class="toc-section-number">1</span> Background</a><ul> -<li><a href="#crisprcas9-and-prime-editing"><span class="toc-section-number">1.1</span> Crispr/Cas9 and Prime Editing</a></li> -<li><a href="#guide-rna-design"><span class="toc-section-number">1.2</span> Guide RNA design</a></li> -</ul></li> -<li><a href="#multicrispr"><span class="toc-section-number">2</span> Multicrispr</a><ul> -<li><a href="#install"><span class="toc-section-number">2.1</span> Install</a></li> -<li><a href="#define-targets"><span class="toc-section-number">2.2</span> Define targets</a></li> -<li><a href="#transform-targets"><span class="toc-section-number">2.3</span> Transform targets</a></li> -<li><a href="#find-spacers"><span class="toc-section-number">2.4</span> Find spacers</a></li> -<li><a href="#add-offtargets"><span class="toc-section-number">2.5</span> Add offtargets</a></li> -<li><a href="#add-efficiency"><span class="toc-section-number">2.6</span> Add efficiency</a></li> -<li><a href="#return-spacer-granges"><span class="toc-section-number">2.7</span> Return spacer GRanges</a></li> -</ul></li> -<li><a href="#references">References</a></li> -</ul> -</div> - -<!--  --> -<div id="background" class="section level1"> -<h1><span class="header-section-number">1</span> Background</h1> -<div id="crisprcas9-and-prime-editing" class="section level2"> -<h2><span class="header-section-number">1.1</span> Crispr/Cas9 and Prime Editing</h2> -<p><strong>Crispr/Cas9</strong> is a prokaryotic immune system turned into a genome engineering tool, with a Cas9/gRNA complex at the heart of its functioning. The <strong>gRNA</strong> (guide RNA) contains a 20 nucleotide (proto)<strong>spacer</strong> which guides the complex to a genomic locus with identical sequence, but only when followed by an <em>NGG</em> <strong>PAM</strong> (protospacer adjacent motif (see Figure 1A). The <strong>Cas9</strong> enzyme performs some effector action at that locus: <em>wildtype Cas9</em> cuts both strands after spacer nucleotide 17, <em>Cas9Nickase</em> cuts only a single strand (two variants exist, cutting respectively each of the strands), while catalytically dead <em>dCas9</em>, fused to some effector domain (KRAB, VPR, APEX) performs some alternative action (e.g. KRAB represses, VPR activates, APEX biotinylates).</p> -<p><strong>Prime Editing</strong> extends this further, by coupling Cas9 to a Reverse Transcriptase (RT). As shown in Figure 1, the guide RNA is extended with a 3’ extension that contains primer binding site (binding a complementary DNA region that acts as a primer for reverse transcription) and reverse transcription template (the template used for reverse transcription). The spacer still acts as targeting agent, guiding the Cas9/RT complex to targeted genomic locus.</p> -<div class="figure"><span id="fig:unnamed-chunk-2"></span> -<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsEAAAI5CAYAAABAcOcAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAACAASURBVHic7N17nJRl/f/x13XPzLLA7nIGRTyh5AHP4DkNrVSEBTUhEyvL1PxaWfnNQ9YvKutrpR3toFaWCRqaCQthWYJngQFPqHgWD4CoYMLCsjNzf35/XPews8se7lmWHdh9Px+PecB939fnvq9rZnbmc19z3dedQKT9JgMPAhuAhSWui4iIiEhsyVJXoAsoA46P/v9fYFEJ69KZegA/BfoBh5a4Lh3FAR8HTgDKgWXAHcCaUlZKREREOp5rZduhwIBm1j8BvLttqrPVegJnACOBSuAN4FF8b+UeQAZ4q4OPOQRYFf3/EeDYDt7/9uo84PfR/08A5rdQbjD+NfkQ/v32KvBP4HngQOB1/MlDqfUE/gaMbbJ+LfBFYEan10hEREQ63ZcAa+FxbQnr1Zrz8D12zdX5SWBjtL28g487pOA4D3fwvrdXAb6X1IDHWiiTAn4C1LHl6xHie8wNuG9bVzam39NQv/8CLwC5aLke+GjpqiYiIiKdZQoNCUDTx7t0fCK5tX5I4zq+DizG9+I1rf+eHXzsMuBj0ePwDt739uoMGp7PM5rZngD+VVAmh0+an8SPHy58PVY1E9/Z9sb/SmD4Ht+e0fpRwOpo/ROlqZqIiIh0tgHAcBp6yEIaEpdzSlivpk6ioW7PAEcWbEsAp+MTrXzd9+rsCnZBj+Gfy2X4XuGmvkXD8z0H2L1gWy/gqzT0EK/epjWN58v4utQBfZtsO4eGthyPiIiIdAspYCU+AZgJLI3+/2ApK9XE/fg6vQXs1EKZT9OQyOxasP5U4DZ871/+kcAnyrcDH+B7vm8EBjXZ58nNxM7AXyjWlp7AN/BDAmrxvZBvANOBqcAvaLho8TDgLwX7vwo/BncWvsc7G8XeCIxo5lgp4P+a1PHCaNvZ+B7OTcCzwLkx6j6GhufyCy20Ld8DPz86fnN+FZV5s8n6yqh+0/FJ9nr8UJZlwC0038ZCHwPupuHE513gIeCbwJ+BQ5qJ+WlU9oUW2lMbbZ/axrFFRESkiziThoTnFBp6zAw4oIT1yhtGQy/wl1spVwk8h0/KCnsun2TL4RJT2fInewOeovGFhIuaKWPA0DbqXAGkW4gtfHwkKn9bk/WZVmI2AJOaHO/YZsr9C/hPC/u4uI36z43KrcDPENFU4VCJI1rZz8HA2/gEtNBvWmlffrzuQS3s87I2Yg2fCDeVH06zli0vFj2WhvfYP1ppj4iIiHQh+XGdL+GTx7409Ir9qoT1yhtDQ3KzXzviq4G78L2gzSVbP8YnZTl8j3iiIPYU/GwC9+J7U+MmwZfTMLxkDr5H+Ev43t/CYRsnReVH43ul325Sv6XAt6PYP+B7Sw1/EddxBccrw1/M+I+oTU3bmQb+F3g8Wv5eK3U/mIaE8LI22tfeGR/OwQ+RSAM3AF8HLgJ+RkMb/9ZM3JCCur0E/AD4H/xJzcM0tPevzcROKNg+pWB9H/zJU37b4+1sk4iIiOxA9qL5hOcPNPSa9S5BvQpNpiFBiTMMoSVfoHFi+DC+lzlvf1oeagGNk6i2kuDfReVex08bVqgnPqFe28zx7io4xgy2nOP5YBqGIbSUrBX2XmfxQyvyPeNlwNE0TvSbmh7Fvo9PEJtzbVTm+Vb2U4yygjrme4mfa6bcETS07Xy27KW+An8y01xPdxJfX8OPC74Gf3KRnwEj/3it/c0QERGRHcU1NHz5X4T/mX0ScHXB+s+XrHZeYRLc9IKmYhQmwT+l5XGsLSkmCf4EjROr1fhe2qvxF/ENpvlhBvkk+H1aTvgvKdhvc7Ng5JPgVfhxxcXYk4ahGD9qpdx1UZllRe6/0ClADb6t+YR9JX58b76nt6leNIxfN/w45wXAb/FJ8YG0PqvJIcB7NH5t8o/8cTVDhIiISBdXRuOf5lt6lPpWuScU1GX4VuynMAluz130ikmCwf9En/9pv+mjFj88oal8EvxoK/sdXbCfY5rZnk+Cb4xRx6aup6GndOdWyl1BQ3JfLIcfFtLW+665JBjgKODlVuL+SfM3gMnbC7iThjHhz+AvnswPFbmzHW0SERGRHUhhD2tbj8NKVEfwyVh+PuOvbsV+OjMJTkTH6Isf93sZ/mKtR/G9l82NTYWGJHh9K8f4fwXxuzWzvb1J8GAaEsOb2ihb+FwcXeRxzi+IfQ8/DvgifA/3T/AXJ7aWBPfAD50YhX9NfwHcQ+MTuv/ErEu+13gKLb8mIiIi0sX8m4aftPs189iJhvGnN5Sojnl30zBG+dAWyiTwF3w9RfMzC3RWEpzEj2d9i+aHNPSlodfx3ibbCscEP4H/eT8vgR/rmh+u8EgLx29vEvz9KC4H7NNG2RR+vLPhL95rOrVcXhV+jPH9NIwvzs8//CxbDm9xwJ9oOQm+Ej9s4jPNbAtoPHfx7m20Ie80GvcKNzdMRURERHZATRO+XYGzgBOj5bfxY1j/CqyL1g2J1r2JT1TOxicvM/G3JS5UgU+4RgK34nvzOtpVUX374i9o+w0wG5+IlQH74mcYyM+YcCI+GU7gp4Dbg8Z3evsG/oJA8DMt3A8saXLMofipwPIXBhbOTHExfn5h8GNJb8cPcQB/8rBv9P8H8WNrn8I/zwOjuuV7cDOttPlgfLK8DN9jui++txb8rAwXFpTdDZiIHzO7U0H85QVl1kT1XMeWKvGzLIA/4WjrgrcMcCn+PTMSPw3dz4F5UV174YdtfJuGISz74d9D+Yvygij2ZfxY5NH4OYzzvzr0Bb6CHzf8arRuTBT/O/xcwv8EXsFfbDgSP38w+IS26XPbD3/b7aX4BHsf4HP419jhn9PP4HvqRUREpAu6j+aHPBQmr39voczvmtnf+U3KtDbDwtY4lean/2puDHNVFHN2jPKGTwyb3hVtbsxYo/GUY0Njxmyg8Z3voKEn+G1avoBrKVveDOKBmMe8juZ9vaBM0zq15hv4ntm2jvsnGubmnUzjOxO29UgXHC/ua/LzZur63VbKv0H3uR22iIhIt/V1/PjJNQWP14BxBWUuxN8oobDMG8Anm9nfkTT8RP8Kvmd2W9kDPzRjDVsmMi/he4x7FZTfD/8T95pWHu/ge7Cb+gp+JoLWYtfg2/zxgjiH76V+nMZzC+cfIX4oSnPjrPNJ8D34HujP4+dqnhH9O5Hmpze7nC1f06aP5fg5k5sqw7+2hu/JLdYxUb3zt0gubGca37va9OYUF9IwK0T+kcX37M4tqPPbwHcK4j6L7/3/J81fdLgcP+1Zc7d5PgZ/IV9h+dX4GTtamgpOREREdmBNE5BtYW/8z8sP0f4bKBQjhf+ZfWd88vQm2+/8rrvik/dB+MRuKX4IRXPuwk+h9k/8FGKd4TM03GHtVHwS2h4V+HYOwQ8NeRl/gtGSXviTlGH4ZPdFfO93Mcfbl4b3wGv4YRxhKzE98ePFK/AneW2VFxEREZFOUNgT3Fnyt2xeQuecMImIiIh0itbuDibbh/74WwmPw1/8FuKHQxyIH6pQ23LoVluBnxHhMnyPrIiIiIhIp/gjLV+0dXcJ6yUiIiKyw2rPnLjSue4DTsaPWS20ic4dGiEiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiItI2V+oKiIhsh/oC+wOPtFKmB3BcK9szwP0dWSkREek4SoJFRLzBwBnA6cCBwDPAx1spvwuQBma1sP00YEhHVnA75YCPRY/BwLvAv4F7gdHAwmZiyvDP9VFAH+B1oAZYBuyOf+5FZOv0B9aUuhIiIrL9uxT4AT5xG4FP4lrTF7ijhW3DgMc7rmrbrZ2BB4C7gLOAE4EpwJ345PfZZmIOxSe7vwEm4pPnC4CHgEXAX7Z5rUW6vsOB5fhftERERGLbm7aT4NZ8CZjaMVXZbqXwSetFLWy/AHiuybqdgTdofhiJA34H3NpRFRTp5s4G3gaOLnVFRERkx7G1SfC9wCEdVJft1YXAtFa2J4EfN1l3E/C1VmKGA1/ZynqJSINxwGrg5FJXREREdgxbkwT3BV6g619z8RCwXxHlU8Br+AsKRaTzHAmsACaXuiLbm2SpKyAi0sWMB+YAVuqKbGPD2HK4Q1vlXwE2bZvqiEgLFuAv8v0H0A+4obTV2X4Epa6AiEgXMxG4u9SV2A5VAR+UuhIi3dQzwBj8BcDXlLYq2w/1BIuIdJwe+NklHi51RUqkGt8TXuhB/MVuIc13vHwJPyVdoVujOBHpOK8CxwNzgV7AV/F/l92WkmARkY7zcWAekC11RTqBw3+HFLZ1KVAe/b8H8EPgF9HyWvw8wk09ir+CHfwY44/gv6xFpOOtAk7Az8v9Z+Dz+Bv7iIiIAO2/MO4m/HCI7mAm/su0Jb1oPGbYAS8DA1uJOR5NkSbSGXrhr12oAXqWuC4l013GBE8G/gqcX0TM5cBttH7HqEK9gJ8DtwD7xozZDfgjftL4fjFjjgKmA98HEjFjzsK3/7yY5QGuxLf/ozHL96ah/R+KGbM7cDPwa/wV9XEcg2//d4n//v0UMAP4XMzyDvgmvv0nxoypwPd4/Rl/o4U49sS3/3r8XbPi+DC+/VOJ3/4p+PZ/NmZ5B3wL3/4xMWMqgV/i279XzJjhwJ8orv3HRfX6f8SffeEcfPs/HbN8ewX4v5e4yfNe+Pb/Cj9eNo6P4Nv/beK3/zP49k+JWT4AvoN/n7V2W+hrgf8j/mwPhn+P/Chm+eacgG//VcRv/7n49p8ds3yA//uaDhwbM6Yv/nPsZmCPmDEfwn9e/gL/+RHHifj2f5P47f88vv1nxSwfAN/Dtz/u/LL98N9jN+O/1+LYB9/+n+O/P+L4GL79V8QsD/AF/PffJ2OWT+C/X6fjv2/j6A/8Fv99vmvMmH3x7f8ZPn/obBvwJ+zvAPcQ/zNYdjBJ/NXIhh/7slOMmMOi8oa/nWcc5xfE/D1mzA0FMd+KGZMuiDklRvkyoJ6G9g+KEXN4wTHi/iz5xYKYv8WM+X1BzJUxYx4viIlzglKO/6nHgBwwIEbMkQXHeDlmvS4uiJkRM+bmgpjLYsY8VRATJ0Hvif+5Ot/+OCdbxxQc44WY9fpKQcxtMWP+XBBzacyYpQUxY2KUr6Bx+1tLNpP456cf/jNgfsFynCT1WOL/7YO/M1q+La3NnVvouYKY1hLUvCp8uw3/PMRJtj5ScIy2bl98Kf6OcQc3WZ/E3za66ewRAX5u4Vvws0UU6o3/HGytJ/iFgrod00bdwCenhe2Pk2ycWHCMp2KUB//3m4+5OWbMXwtiLo4Z83JBzJExyg/Af+4b/nOwvPXigP9czR/jiZj1urIg5vcxY+4siPlizJhXC2IOj1F+EA3tr8d/H7bllIJjLI5Zr6sKYuLOvHBXQcwFMcr3A07t4Mcp+JOp64CngaEx695ldIcxwVn8RSon4D/Q3osR8yo++d0N/0UYx2JgPf6DPG7Mg/iz1AzwSMyY+4FR+LO3pTHK1+PH3B2P/0BbGyPmZfxdnXYlflsWAbX4L5l5MWMewPfO1lNc+w/BT/7d3C1Zm6oDHsP3oD4OvB8j5iXgTfyXdNy2LMKfWfcsIuYBfC9d/jWK4378RUSriDc9VR1+epxj8O/ROFfnv4ifU3Io8duykIb2z48Z8wC+dzb/GsVxPzASWEm89tfiX5ujon/Xt1L2SrYcypDv1TV8T3pr77ld8D1BcT2A750ttv374l+f52OUX48/cT4C/xrVxoh5Hv/+2om2X//8l+evaLgbXDk++ZiP/xWmUIjvmT8P/1NsEt+W/vj3zt34Xs6W3I//peUt/Pu0Levwf/ej8M/xxhgxz+HHKA8h/vv/MfzrWBbVMY4HgEn4v5uFMWPux/+C8gb+c6ot/8W3/zD8Z2xdjJhn8Z+vgymu/Zvwc0EX0/4z8O1fFDPmfnxP++vEa//7wJP474yH8Z+1bXkG//06iOLbn8S3K44H8CeKtcR7/XfBX0TakbL4XuBL8b+uzQdOws/nLV1IAp/QFZP0l0UxxUx4X4n/4CzGQOIPBcjbheLG8LSn/T2I/7NOXiXNX/jSmoEU/zPM9tr+Kopv/yDa1/44PTp57W1/0566tnRW+4fRvvbHHT7UmQYRfyhE3jCKu+FEe9pfTvGvf0/8EJ84v7bk9cEndXGHA0Dx7U/SvvbvUkR58G1pbbxzcwZT/Ou/K9u+/T0pvv19aV/7K4so7/BtidOjm7c9t38IxbV/WxoFrKHl26CLiIiIiHQpZ+J//Ti91BUREREREdnWHH4SgNfxPcEiIiJbrZifa0VEOls5/uLcR4k3YYCIiEibAvxFW3uUuB4iIs0Zir9g+ja68RzBIiKybfwUf7e0pvrh5+AVESmFQ/CzP0yluAv/RUREYtkbf6FJ06v4vwP8ofOrIyKy+QK400pdERER6dr+Q+O7VPXGz78b946KIiIdQRfAiYhIp5pE48n2/xe4vUR1EZHuKX8B3CMUfx8DERGRdkni72w2Ej8s4k38nbtERDrDUPzd+P5McTdY6Ta2xzsoiYh0BSH+dsBH42/BXom/YE5EpDOUAxn8rchzJa6LiIh0M7sC7wIvA8eWuC4iIiIiIp3mceC5UldCREQaC0pdARGRLszh5wbWfJwiItsZJcEiItvOGfh5OcvQ1EQiIiIi0k0sAiYCVwI3lbguIiIiIiLb3CnAM/hf3AYBa/BDI0REREREuqwHgLMLlm8HvlSiuoiIiIiIbFM98HMDv4y/YUbeGOBZdJGciIiIiHQRQa9evb5dUVHxfo8ePTb17du3FvhRM+Ve69ev3z8HDRp0F3BWJ9dRRERERKTjVFRUXH3kkUeuX758ueVyOZs7d65VVVWtB/YvKHPVsGHD6m666Sa79dZb7ZBDDlnXv3//20pYbRERERGRdkuVl5dvWLVqlRW6/vrrcwMGDLgzKrNH3759169evXrz9k2bNtnw4cM/AE4oZeVFRLorzRMsIrJ1hg8ZMqR+yJAhjVYed9xxAXBIfvHUU08NBw0atHl7WVkZX/jCF3r37t375M6rqoiI5CkJFhHZOm+98847Perr6xutfPnllwmC4PVoMZfNZrcIzOVymFmuE+ooIiIiItKx+vXrN+uSSy6pz+VyZma2atUqGz58+DpgfFRkt759+64vHDJRV1dnu++++wfA8SWsuoiIiIhIuw3o16/fQ8OGDftgzJgxa6uqqmp79ep1VWGBysrKb+y8887rfv3rX9sf//hHGzly5Lr+/fvfXKoKi4iIiIh0BAfsB5yMv0Ncc47v27fvTQMGDJgGnNZpNRMRERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERGR7dJAIFHqSoiIiIiIdIZxlZWVq/v27Vvbs2fPDX369LkWSDUps0///v3/NGjQoIVVVVW/AAaXoJ4iIiIiIh3i8P79+69fsGCBmZm99957duKJJ9b26dPnJwVljqqqqlp37bXX5u677z67/PLL6ysqKt4DdilVpUVERERE2m3gwIFzbr755tAKvPPOO1ZeXr6RqDe4X79+z82cObOwiP3gBz+o79+//4wSV19EREREpHj9+/d/denSpdbUbrvt9l9gBNCrV69edblcrtH25cuXW58+fVaXuv4iIt1RUOoKiIjs6BKJxKvLli1rtK62tpbVq1f3AN4AsmEYksvlGpXZuHEjQRBs6ryaioiIiIh0nJOGDRu2bvny5WZmtmnTJvvMZz5T169fv7/kC/Tv3/+h3/zmN426gi+66KKNffr0+XUpKy4iIiIi0m49e/b8cq9evWoPOuigtX379s326dNnMVBZUGTvysrKD84999zcb3/7Wxs3btz6Pn36vABUlajKIiLdmit1BUREupBewIHASOBc4PiCbQng+SAI5lZVVZW///77jwLTAA2HEBEREZEuIYkfC3xgwbqzgEdLUx0RERERkc4xFfhV9H8HLAZOLVltREREREQ6wVDgPfy44GrgCTQETURERES6gb8D5wMPAZNKXBcRERERkU5xMvASsAzNyy4iIiIi3YQDaoHvlboiIiLSmHomRES2ncOBemC3UldERERERKSzzAQuB9YA/UtcFxERERGRbW5/YAXQE7gV+GppqyMi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" alt="gRNAs for Crispr/Cas9 (A) and Prime Editing" width="100%" class="smallfigure" /> -<p class="caption"> -Figure 1: <span class="caption-title">gRNAs for Crispr/Cas9 (A) and Prime Editing</span><br> -</p> -</div> -</div> -<div id="guide-rna-design" class="section level2"> -<h2><span class="header-section-number">1.2</span> Guide RNA design</h2> -<p><strong>Guide RNA design</strong> involves finding good guide RNAs to hit the targets of interest. Plasmids with guide RNA scaffolds, ready for cloning desired spacers into, can be readily ordered from AddGene. The actual task, therefore, boils down to finding good spacers for the targets of interest. For prime editing, it additionally involves finding appropriate primer binding site and reverse transcription template to edit the target site of interest.</p> -<p>A <strong>good spacer</strong> needs to fulfill two requirements.</p> -<ol style="list-style-type: decimal"> -<li><p><strong>Minimal off-target</strong> (mis)matches, so that only intended targets are hit.</p> -<ul> -<li>Crispr gRNAs can hit exact (with identical and alternate NGG pam), as well as (up-to 2) mismatch offtargets.</li> -<li>Prime Editing is much more specific, hitting only exact offtargets.</li> -</ul></li> -<li><p><strong>Maximal on-target</strong> efficiency. Over the years, several sequence-to-efficiency prediction models have been developed, of which the Doench 2016 score has currently become the community standard. The score is not perfect, and examples can be found where the prediction and the actual outcome differ. Yet, to-date it is the best heuristic to predict on-target efficiency, worth making use of.</p></li> -</ol> -</div> -</div> -<div id="multicrispr" class="section level1"> -<h1><span class="header-section-number">2</span> Multicrispr</h1> -<p>Multicrispr was developed to make guide RNA design easier. As shown below, it contains functions to <strong>define</strong> and <strong>transform</strong> targets, <strong>find spacers</strong>, compute/add <strong>offtarget counts</strong> and <strong>efficiency scores</strong> (Doench 2016), and finally return all of this as a <strong>GRanges</strong> object.</p> -<p><img src="data:image/png;base64,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" width="80%" class="widefigure" /></p> -<div id="install" class="section level2"> -<h2><span class="header-section-number">2.1</span> Install</h2> -<p>Installing <strong>multicrispr</strong> is simple:</p> -<pre class="r"><code>url <- 'https://gitlab.gwdg.de/loosolab/software/multicrispr.git' -remotes::install_git(url, repos = BiocManager::repositories())</code></pre> -<p>Doench et al. (2016) ’s python package <strong>azimuth</strong> for on-target efficiency prediction using their method can be easily installed and activated using reticulate:</p> -<pre class="r"><code># Install - run R(Studio) with admin privileges for this to work! - reticulate::conda_create('azienv', 'python=2.7') - reticulate::conda_install('azienv', 'azimuth', pip = TRUE) - reticulate::conda_install('azienv', 'scikit-learn==0.17.1', pip = TRUE)</code></pre> -<pre class="r"><code># Activate - reticulate::use_condaenv('azienv')</code></pre> -<p>Bowtie-indexed genomes for quick offtarget analysis can be installed using <code>index_genome</code>. For the two genomes used in the examples, mm10 and hg38, the functions downloads pre-build indexes from our data server, allowing a quick exploration (set <code>download=FALSE</code> to build index anew):</p> -<pre class="r"><code>index_genome(BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10) -index_genome(BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 )</code></pre> -<!-- 1. Install conda for python 2.7 --> -<!-- 2. Create a new conda environment: `conda create --name azimuthenv python=2.7` --> -<!-- 3. Activate conda environment: `conda activate azimuthenv` --> -<!-- 4. Install module azimuth: `pip install azimuth` --> -<!-- 5. Install scikit-learn: `pip install scikit-learn==0.17.1` --> -</div> -<div id="define-targets" class="section level2"> -<h2><span class="header-section-number">2.2</span> Define targets</h2> -<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWkAAADkCAYAAABaItX8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAACAASURBVHic7Z1/XFRV/v9fM80wLGxqZoaQJEqKiz9IqQB3TbaHAZmKmwWpkViJrGZrlqbtJ6Ui0VJXXENaFxVLqWzFdFfITDJFclERmi9k4A8QI8pftBI/prnfP8Z7vXfmzjBz59cd5v18PHwI3Dv3vO85577ue97nnPcBCIIgCNmiYC7mMu42giAIghBH6W4DCIIgCPOQSBMEQcgYEmmCIAgZQyJNEAQhY0ikCYIgZAyJNEEQhIwhkSYIgpAxJNIEQRAyhkSaIAhCxpBIEwRByBgSaYIgCBlDIk0QBCFjSKQJgiBkDIk0QRCEjCGRJgiCkDEk0gRBEDKGRJogCELGkEgTBEHIGJW7DZA7JaWnUXL0W7PHI8L7I2rUQAT07eGQ6/GJHxeOqNEDJX0+4I6emJMyVvC3JW/tQtmJM5gcF4G/PPeQRdt69fDDnJSx8NWoLZbzt38cwNWWVgy463bMTIqxeM2uELtfS9TUNqFg93+tPt+Y5Qsnmvwt6+9FKC7RIuCOnnj6iWjEx4Zbda2u7tPWezO+9u7iClRoGwR/DwsNwAP3hiA+dpjF/ielDZxRt4VFFSgu0aKmton7W0R4fyRNipRcN94A7XHYBf0iXkZTc0uX50WE90dO1rQuO5u11wOAZQsfNenstnyeuZgr+F0RmAYAGND/dpz9+q0ubZuZFIPNa5+2WIat17SE2P1aYmP+IaS/8oHV5xtz9uu3MKD/7dzvZcfPIHriSu53c/ckhjX32auHH9ZmPC76MhOjprYJqQu2ouz4GYvn+WrUmJkUjRVLp6BXDz9JtrGwbeDIuq3QNiD1L1tNXjJ8EuMjsCsvXXJ53RnypLuA7dy+GjWiRoeYHGO9ggptA6InrsQr8+KxbOGjZj1QS9czJiK8v+TPB9zR0+K1LdnGsuXDUrzw7B9F7bD1mlLv1xJhoQEYFzNY9FhJ6WkABmGMGHaXyXFfjdrE+/zw03LB7+caLqGk9LTZMvhYus+y42fR1t6Jqy2tSF2wFecuXOryZZT19yJkrN6LtvZO7m8R4f0RMaw/7r6rN748ehpXr/2CCm0D2to7sTH/EK5e+wU7cp61yTZj2DZwVN02NbcgYXo2Z0NYaACSJkcCAM5fuIyig9+gqbkFhUUVONdwSfDSJAyQSFtJQN8eOLhzocnfzzVcQu62Q8j6exEAw8NVcvQ0ju5ZLOl69trjCHw1ak4cMlbvdYiH4wx7x8UMxrgY8WuyHn7EsLusKretvZP7eh8fG46ig1oAwNaPj1ol0ixi99nW3om//eMAlry1C4ChThPjI8y+lNJf+QAb8w9xv1v6hlFT24R1mw5gY/4hNP14zWbbzOGous1Ys4cTaHP3seXDUmz9+KjVIUNvgwYO7WRA/9uxYukU7PtgPtfJyo6fETxknkZA3x5IjI8AYIgjFhZVuNki51NSepoTk8Vz47mwVeG+CoE3KwVfjRqvzIsXhDk+3F0uem6FtoHrO6yoWvK6w0IDkJM1HWe/fgvLXrQ+VOQqyo6fBWDwus3dx8ykGBzcubDL8Q9vhUTaQcTHhmPfB/O53/kehCeybOGj3M8Zq/e60RLXsPWjowAML91xMYORNMnwlfxqS6vDXlIPRt3D/cwfPOOT+pet3M85WdOt9uJZu+UGe5++vvSlXSok0g4kIrw/54E2Nbdg47Yv3WyRdPj3UqFt6NbedFt7J3d/yZPvE/wPmPd6bWVA/z4Wj2/5sJQbXBsXM5irf0+GjTE3NbfgXMMlN1vjmZBIO5jFc+O4n09pL7jREvvhe9NL3tpl99d+uVJQ+F/u3ibHjQRgCDWwnmnRQa1DvhWVnbg5SyMsNMDk+Ncnz3I/r1gyxe7y5AA/7j5lVg6utrS60RrPhETawYTdc/Ph83TPge9N19Q2eXSc3RJbP74Z6uBPoUyaZPCm+Z62VM41XMLKvxcDMMSo054aa3JOBe+lHjFM+owaOcGf6VShbcDQscuw5cNSN1vlWVCgyMH06uHHzY4wF3cEDF//YqeuNns8J2u6qLfF0tbeyU2FEsNR8cmcrOkoOqhFW3snVm4osmqBixj23q+zaGpu4eqRH+IAgOTESCxY9hHa2jux9eOjJouDxDBul3MNP+Hrk2ex5cOjnLeekzVNdKpZzXeG/hLQt4fZOi47fgZt7TqTv/fq+ZsupzC6ow3CQgOwNuMJrh6bmluQumArMtbsxbIXH7V6zrg3QyLtBAL69sC5hktcpxSbWtSVyJYdP2PxgenqgZuTMhY5WdNtM1yEgL49MCdlLP72jwOGOHv+IdHVil1h7/06iy0f3fTqnn4iWnCsVw8/jIsZjKKDWpQdP2PVPF5L7RIR3h9rM54QfYE2NbdwoQBz9fC3fxzAgmUfmS37lXnxWLHUfJjEXW0wJ2UsIsLvQvor27mY+7mGS0hdsBUrNxTbNEDqjZBIOwHWYxJbMMHSq4cfXnjuj2avER87zCm2SWHx3HhszD+EtvZOZKzei+TJ99k8p1Wu98vO6ggLDRAVqKefiObmTG/5qNSmFZF8fDVqLFv4qFkx4sf7r177RfScXj1+Y7GMph+7XvHorjaIGj0QJ/f/FYVFFchYvZcT65raJsROXd3lC8abIZF2MKz3DMCi19Wr528kP/CAwcPd8e5zZo+LrQSzp6zF8+KQsXovrra0YuWGIqzNeMKma9h7v86gQtvAhaTYVXDGJMZHcOGrrR8d7fIe+EvJzzVcQtFBLZa8tQtXW1oxZVYOduQ8axJWAQz1w2JuLGNmUoxJeOBcwyWEPLDUok38MtzdBonxEUiMj0BhUQWWvLWLq/+svxdhyKA7KfwhAom0g+E/YM78+u6rUbv0K+Ir8+KRu+0QF/JYPDfe41eIsV40YFiivHz1HtHz2PDVuYZLKDt+xupkQAP638591Y+dugZt7Z1YsOwjjIseYlJ3vXr4oVcPP1xtacXVllazYbLuQmJ8BOJjwzFlVg73TWXJil0k0iLQ7A4Hw08i053yEPhq1Fg8Nx4AuEFET4ef5W3Lh6XIWL1X9B//xcvOBLGFqNEDuUHHpuYWQRycD/+la23WOk/GV6PGrrx0LikUzaUWh0TagbAxW5YHo7vXYMiclLHci2djvsGr9tQXEX/uM5tMyNI/drZFQWG5pPnii+fGc9dYt+mA6DXixt1Mi8rOhujuGH8jJJE2hcIdDmRj/iEuxsbG3roTvho11mY8gSmzcjzem+ZnvNu89ukuQxipC7Ziy4eluNrSiqKDWpvbNqBvD8THhqOwqAJNzS2i15iTMha52w6hQtuApuYWZKze6xWDafwBT0eOpXQXyJN2AG3tncj6exGX5YwVs+4IP3sbmx7T02hr70RBoSHUERYaYFWMmc3lAUhfJs5fwJK7TXxhUE7WNO5nfp/yRMqOn+lyEVBNbRMqvjGECAf0v100H7a3QyItEbYDLl+9B/eOf1OwbHrF0ikeGwawBna5OJsj2dPgLwM3N6vDmHExgzkBKSyqkHTf8bHhXL8oOqgVXezEj18DBqGOnrhS9Pyy42dkLeJFJVpMmZWDe8e/iS0flpqEb4oOapEwPZv7+wvP2j7/3hugcIeVnGu4xOXRNUfU6IFYu/xxqzwza673l+cekqVHzo7Ms6Py1iCn++WHOsSmw4nhq1EjOTGSmy9eUFhu1QpEY9KeGssJa+62Q6L3m5M1HQ/cG4IFyz7G1ZZWlB0/g4Tp2V1eu6t51K5uA3bjiQptA1IXbEXqgq3o1cMPYfcEmOw2MzMpRtIiKW+APOkusGa3kKjRA5GTNR1H9yzuUqBt2X3kaot8Qwk5WdMFX00D+orvBCO3+2VjyoCh3WyZJsnm8gCA3cXScnnMfOLmFDNLewjOTIpB9aEMq14i42IGY/Pap82Kq7vaYE7KWKzNeEIwlZB96bAE9O2BnKzpXW7T5s3QHoddcLWlFRXfmM9mZ+tc5a6uxycsNMBkrmyFtgFXr/1iVa4GY7r6rK3X5m8fFjHsLtF4or33KxU2x0VA3x4mQswujR7Q/3abw1Lc1lFGdWRL3bHn+mpUVs+5PtdwCTW1TYJMetZuguzoNrBUt+ao0DagpPQ0FyYKuKPnjfGAEEr23wUk0gRBEDKGwh0EQRAyhkSaIAhCxpBIEwRByBgSaYIgCBlDIk0QBCFjSKQJgiBkDIk0QRCEjCGRJgiCkDEk0gRBEDKGRJogCELGkEgTBEHIGBJpgiAIGUMiTRAEIWNIpAmCIGQMiTRBEISMIZEmCIKQMSTSBEEQMoZEmiAIQsaQSBMEQcgYEmkPo629E3fftwSau+fi2MlzZAtBdHNIpAmCIGQMiTQhG/IKjkARmIYps3LcbQpByAYSaYIgCBlDIk0QBCFjVO42gLCPhotX8NxL21BcogUAhIUGYOn8BDw1NUr0fJ1Oj03bD2Ppil24cq3Vqs80XLyCt98txvq8gwAAH7UKm1Y/hccnjnbIPeQVHMEzL+ZzvxcWVUARmMaV9VXhy7j/3gEm97Bp+2EcrzzPnZc0ORKL58YhfEigQ+wCgOISLV7N2s2VY8yo4cH4qvBl+P3GB23tnRjy+9dw6cp1nP06Eyeq6vFk+iZcudbKnXet5RfsLj4lsB0AHowejA1vPWliu/E129p1SJmfh5LS0wCA4UODsOmdFEH9SLWfxdY+otPp8drbn2Jj/peC8x+bMApvLp5spmYJayGR9mD+80UVsjd9gSvXWhEWGoAffmxBTW0TUuZvRt35H7F84UTB+W3tnUiYno2S0tPwUaswe8Yf0Nn5KwqLKpAyfzP+9o8DJg/s2fqfMDouk3v4YiIHobS8DinzN+ODfx3Dz/9rs/s+ggJ6ISZyEKq/+15QDgCo1bfA3++mPfx7AAxi0LuXP0rL67BtZxm27SxDfnaq2ReOLSzM+Bhrcj+Hj1qFJxPvg69GjcKiCoGNgwbcIfpZg8gVcr9/W/cDqqobkTA9WyBkrO1fHj2NUQ9nmryQzF2TbYeq6kY8MGEFduQ8i+TJ99ltv619hH2J1DdeRlhoAPfiPl5Zj31ffIOl8xME/YmwHQVzMZdxtxGE9fAfCsDUE2K9UmMPVKfT40/P5GDP/kokxkfggw3PcJ/hH1u28FFO3Pl/55ej0+mRk/8l5v+1AIC4tysF1vbE+Ajsyks3Oc63Z/jQIOx491nO82S9uRXr9znEnsPHavGHxLfh76fB2a8zccftt5rYYCyMYm2Tn52K8CGBqD3XjFuUSsyYl4c5KWMFLxHjtuHfu6X21un0WJz5Cdbkfm7SD6TYL6WPdNVmhP1QTNqDSYyPMPF8U6ZGY+L4Eejo1OE/X1Rxfy87cQZ79lfC30+D996eIfiMSqXEorlxAIA9n1Wi9ZcOk88UbZ/PfUalUuL5WbH455oUV9ymyT34qFXY9E6KIDSgUinx+suTuHtfsX6fXWWdPvMDAOCl9PGcwLHlJCZEAABqapvMfp6tM9bG0AF9ERLcB0c+XWTi5fPrv77xMlf/xhi3t0qlxLzUWNzW0w/f1FzENzUX7bJfSh/Rfmsoc2T4XWbrgrAPEmkPxUetwpLnTb9K8h9C/sPEPrTjxw4VPLQsQQG9cFtPP3xb9wOut7Zb9ZlpU+5HcFBvx91UF+zadxIA8MhDw0S9ZP69WxI7Z+OjVuGLj18UrTNziNW/8TXF2rvfnT1x62997bYZkNZH2JfQv/5zkhNswrFQTLobMnjgnSZ/Yx+guvM/Im3R+ybHOzt/5f4/W38Jd9x+q6y8JJ1Oj+/ONAOwbA9776yQSI2HstfZ81klFv05ThCDzVi9F4AhpiyVmtomlJSexslv6gEY6v3KtVb4+2kkX5OPFPul9JFpU+5Hxuq9qKpuxLDYDDw1Ncrhg7feDol0N4YVKh+1ihO4qupGVFU3mv2Mv58GIcG3u8pEh8N6ex03BEUqUaMGYuL4EdizvxK3hS3AYxPuFQy8jRoejEkPj7T5usUlWm7GhzOx1X7+S9CWPuKrUaPuaCZeXP4R1ucd5AZvjccMCOmQSHdjhgy6E/5+GqhUStwzsC8ACAZ9uiONTVcd4pGy8dmnpkah4eJl7Cj8LwCD97l4XjyenxVrs5d++Fgt4qdlAwBefeERwcwHdhaNvS8Xqfbb00dUKiWy30zGmuVPcFP3DLNOsgSDloQ0SKS7IWxsMTiot4mQnNJesPl6Uj7jaPgiYske9t7ZF5QUdDo9Vm0oho9ahXmpsXbPWmFhY+rOflHaa7/U9laplJiTMhYzk6K5GSkHDteYTA0kbIMGDj0UczMY+DFHfux2SsK9AID9h6rx46WfrSqjq89s33WMmxrmSMwN+nVlj06nR+G+CgDAxIdH2D0/t6NTh6++/s6ua7Dwwwmuwlb7pfQRMXw1akx9dBQAyzNgCOsgkfZgCosqMDoukxM0nU6PV7MKUd94Gf5+GsydOY47l41RXm9tR/y0bJOReJ1Oj435h/DXlbu5v0WOvBvBQb1xvbUds19+X1DO0hWFglWCjsB40M8Yvj3G98DOGWankPHv3Vb4XvtLr++EIjCN+zdm0iqMmbQKKzcU2zR7xPibAP+zxguG7EWq/bb2EZ1Oj8dn52LbzjKT+9lcUArAvsFVwgAtZvEw+MuEX30hwWQFGovYCjRjMWBXvPFX+hkvSmAXRbDwy3lqahSuXmtFccn/c8hiFuOFGzGRg1B+6rzg2mL34O+nESwPd5Qt7Mo7tp7aO3SC5dXGC0VY+5uaW0Rt4NseFhqAsVH34PyFyygu0SIsNAA1tU02X9PccSn2m6tfc32Ev8AFMLQXvwxa4OIYyJP2YJ6d9nsc+GgBxsUM5oTzwejB+ObgMtE4YEhwHzRXrUZO1nSMHnE3amqbUFpeh+utHXgwejB25aWbPFS/vz8UZ8oyMS5mMACgtLwOw4cGYVdeOvLWPO3Q+/HVqHF49yJBWcPCAgWzTUKC+0BbshxLnk/AbT39UFPbhOOV5+GjVmFW8hhcqVnrkBjy9l3HUFJ6GssWPorqQxk48ukilBctBXMxF/XlWZzHOftl06lq5ggJ7oNTB15D3Lhw1NQ24b33v8LBI99iVvIYHN69yKFzzqXab0sfUamUyF01g2uL0vI6HK88j7DQAORnp5JAOwjypAnCCOOkRmKzE9hvGGIJityNp9tPCCFPmiCMKD91HvWNly3OELE0g8bdeLr9hBASaYIwgl0QY5wPg6Xh4hVuBk3S5EhXm9clnm4/IYTCHYTDMB74sxZnzRu2x56f/9eGNbmfAwA3yAcYPFA2Teqs5DEuTzJlLWyaUsAz7SduQotZCEKE1csex4SHhmPVu5+huETLzff1UavwYPRgrHsjCSN/5/6cJubwdPuJm5AnTRAEIWMoJk0QBCFjSKQJgiBkDIk0QRCEjCGRJgiCkDEk0gRBEDKGRJogCELGkEgTBEHIGBJpgiAIGUMiTRAEIWNIpAmCIGQMiTRBEISMIZEmZENewREoAtMwZVaOu00hCNlAIk0QBCFjSKQJgiBkDKUqdSLFJVq8mrVbsEMzH7H95XQ6PTZtP4ylK3YJdmxeOj8BT02NEnzeeC+7tnYdUubncUndhw8NwqZ3UsxuzGpLWez5r739KTbmfyk4/7EJo/Dm4sm2VQ6PvIIjeObFfNFjYrt/s3Zv2n5YsEt40uRILJ4bh/AhgZJtMcaWNjRujxNV9XgyfROuXGvlzrvW8gt2F58S2A4YNhDe8NaTJrbb28bO7oPs+c7oF4QBEmknwe6M4aNW4bEJ98JXo0ZhUQXXiWMiB2HQgDuwceV07gFpa+9EwvRslJSeho9ahZlJ0ejs/JX7nPEDxX+AX30hAUtXFHLXZncPB4AdOc+a7B4utaz6xsuCnT6OV9aDYRi7NjMtLtHi9TX/RvV33wvqBwDU6lsE4sW3GzCIQe9e/oL7zc9OFRUTW7G1Dc21BwD4+2lw4KMFSJieLRAyvu1iLyR72tiVfdAZ/YIwQCLtBNidmP39NILdmnU6Pf70TA727K80eaj4xxLjI/DBhme4zs0/xt9qynh7KP4DpNPpsTjzE6zJ/dzkwZJSFuvtJsZHYFdeulPqrasy+LYNHxqEHe8+y4k3682tWL9PVOxsRUobirVHfnYqwocEovZcM25RKjFjXh7mpIwVvESM24N/71Lb2FV90BX9wtuhmLQTYHdifil9PPdwAIBKpURiQgQAcNsZsZSdOIM9+yvh76fBe2/PEHgfKpUSi+bGAQD2fFaJ1l86TMpMjI8QPKQqlRLzUmNFNySVUpb2W8PnR4a7b8sl1m4ftQqb3kkRhAZUKiVef3kSJo4fgY5OHVas32dXWVLakI+/nwZF2+dzNoYO6IuQ4D448ukiEy+fX+f1jZdF2xewrY1d1Qfl0C+6OyTSMoF9qMaPHSp4qFjYHaC/rfsB11vbBcd81CoseT7B5Gtlvzt74tbf+jqkLFZs/vWfk9yD6Wp27TsJAHjkoWGiXjJfgCyJnbPxUavwxccvitatOSy1L3tNW9pYCp7aL7o7tBGtExg88E4ABo9j0Z/jBPG7jNV7ARjikXzYDl53/kekLXrf5Jqdnb9y/5+tv2STABgjpaxpU+5Hxuq9qKpuxLDYDDw1Ncrhg3SW0On0+O5MMwDLXhtb96yQSI2HSmlDW6ipbUJJ6Wmc/KYegKGur1xrhb+fRvI1+biqD7q7X3gDJNJOIGrUQEwcPwJ79lfitrAFJoM2o4YHY9LDI7nz+QJUVd2IqupGs9f299MgJPh2ybZJLctXo0bd0Uy8uPwjrM87iG07y7BtZ5lJbNjdsN5exw1BkYqtbWgtxSVabsaHM3FVH/SUfuHJkEg7ATa299TUKDRcvIwdhf8FYPBcFs+Lx/OzYk3iffcM7AsAgkEZZ2BPWSqVEtlvJmPN8ie4KVpV1Y14YEKWYHDKnTQ2XXWIR2prG1rD4WO1iJ+WDQB49YVHsHT+zfDF2fqfMDou0+6Xi1T7u3u/8GRIpB2MTqfHqg3F8FGrMC811uYZBqe0F5xjmAPLUqmUmJMyFjOTormZBwcO15hMAXMkfBGxZDcbVx0y6E7JQm1vG5qDjak7+0Xsrj7ojn7hDdDAoZPo6NThq6+/s/r8KQn3AgD2H6rGj5d+dpZZDi3LV6PG1EdHAbA808FWzA36dWW3TqdH4b4KAMDEh0fYPT/X1ja0BD+c4Crc1Qed1S+8FRJpB8P3+F56fScUgWncvzGTVmHMpFVYuaHYRITYGOL11nbET8s2GSnX6fTYmH8If125224bbS1Lp9Pj8dm52LazTGD32fqfsLmgFIB9g2gsxoN+xkSOvBvBQb1F7WbnDLNTyObOHCfZDqltaO01T2kvmNTj6LhMh8WpXdUHXdUvvB0KdziBzFcScaKqHiWlp7lVZe0dOm6FWGl5Hd5Y+29BvE6lUmLdG0k4fKwWJ6rqMSw2g/ssfyVeYnyE3fZJKau9XYeU+ZuRMn8zYiIHob1Dxy01ToyPcMhXWlaE6xsvo+/wlxATOQjlp85zC1N8NWqUfLIQo+MyBXb7+2kEy8Ntnf4mhpQ27Ip5qbHYXFCKwqIKjI7LxNioe3D+wmUUl2gRFhrg0MFEV/VBV/QLb4dE2gls33UMJaWnRWOPDRevYO6S7dizvxKzX35fsEorJLgPmqtWi+aleDB6MP7y3EMOEWlby1KplMhdNQPD8g5iY/6X3INuKZ+DFHw1ahzevYjLTVFaXodRw4MFs1lCgvtAW7Ic62/Ywn6d9lGrMOOxB7A+M9khy5CltqElQoL74NSB1/DcS9tQXKJFTW0TfNQqzEoeg1X/9xhGPfwmLl25brft9tgvx37h7dCycAdjnBBHzMtil+yKJbch3I+nt6Gn208IoZi0gyk/dR71jZctzi5gZyAEB/Wmh0OGeHoberr9hBASaQfDLqYwzqXA0nDxCrfiK2lypKvNI6zA09vQ0+0nhFC4wwmwKSIBCNI3nj7zA5dic1byGPxzTYrbbHQGxhnbrMVZ84btsefn/7V5dBt6ax/sjtDAoRNYvexxTHhoOFa9+xk3QATcHHxZ90YSRv6OsobJGU9vQ0+3n7gJedIEQRAyhmLSBEEQMoZEmiAIQsaQSBMEQcgYEmmCIAgZQyJNEAQhY0ikCYIgZAyJNEEQhIwhkSYIgpAxJNLdlIaLVzD/rwVcsnfN3XOxd38ll7h93qs7BIna29o7cfd9S6C5ey6OnTznPsMJghBAy8K7ITqdnssXDAAxkYNQWl6H8srzCB8SiKUrduHKtVb06f1bp+61RxCE/ZBId0PYnaL9/TQm+YQbLl7Brb/1xfXWDkSOuNuNVpqSV3AEz7yYj8T4CKsT6RNEd4dEuhsjlk+4f+BtOP/fFW6yiCAIW6GYdDeETehOEITnQ540gOISLV7N2s3t52aM2BZDOp0em7Yf5uK7gPm93Yy3M2pr13H7+AHA8KFB2PROCu6/d4Bo+daWxYYLWE5U1cN/0POCe1AqFRjy+9fQ1NzCbfBqDbbcr60Y211YVAFFYBoAQ2pNYztZW4z34EuaHInFc+MQPiTQLnv42NI3jNv5RFU9nkzfhCvXWrnzrrX8gt3FpwS2A8CD0YOx4a0nTWy3t+84u2+z57/29qfYmP+l4PzHJozCm4snm6lZwlq83pNemPEx4qdlo6q6EU8m3ofUpBjc1tOPOx4TOUj0wRmfvBbpr3yA660dmD3jD0hNisEPP7YgZf5mjI7LFMyc4LNp+2EER76CktLTiIkcBACoqm7EAxNWoGD3f03Ot6WsoIBeiIkcZGJ/TOQgRIT3l1xH9tyvNViyOzpyIPz9bgoI35bjlecRFhqAmMhB6OjUYdvOMgyLzcC2nWWSbeEjpW+wbNp+GPHTsjnR+rbuB1RVNyJ83HIT2wHgy6OnMerhTIsza2ztO67o223tnRgU/SpWrN+HO+/ogdkz/oDZM/4Afz8N9n3xjV39gjDgXF7xLAAAFJlJREFU1fmk2c04jQfYdDo9/vRMDvbsr8SOnGcF29LzjyXGR+CDDc9wXgj/GH+3EeMdQvjei06nx+LMT7Am93MTr0ZKWcBNz1TMS2JtMfakzf1dqg1S6GrgkF/e8KFB2PHus5zIsN7civX7RL1vW5HSN8TaOT87FeFDAlF7rhm3KJWYMS8Pc1LGCjxS4zrm37vUvuOqvk2Dvc7Hqz1pNnb7Uvp4wQwIlUqJxATDtvXsjhYs/JkT7709QyCAKpUSi+bGAQD2fFYp6kUkxkcIHiaVSol5qbGie9LZW5YjkIMNxrb4qFXY9E6KwAtUqZR4/eVJmDh+BDo6dVixfp9dZUnpG3z8/TQo2j6fszF0QF+EBPfBkU8XmYQM+PVY33jZbD3a0ndc1be13xrKHBlOu7w4C68WaSmwnX/82KGCzs/CbgL6bd0PuN7aLjjmo1ZhyfMJJrsz97uzJ279ra9Dy3IUcrCBZde+kwCARx4aJuol8wXIktg5Gx+1Cl98/KJofZmjq3q0te9IQUpbsy+hf/3nJCfYhGPx6oHDwQPvBGDwDBb9OY57ANraO7ndlMNCAwSfYTti3fkfkbbofZNrdnb+yv1/tv6STQ+qMa4sS842AIav29+daQZg2Wtj25QVEmNRsxYpfcMWamqbUFJ6Gie/qQdgqL8r11pNpkxKxVV9e9qU+5Gxei+qqhsxLDYDT02Ncvjgrbfj1SIdNWogJo4fgT37K3Fb2AI8NuFe+GrUKCyq4EbkJz08kjufLxRV1Y2oqm40e21/Pw1Cgm+XbJsry5KzDbbCensdNwRFKrb2DWspLtFyMz6ciav6tq9GjbqjmXhx+UdYn3cQ23aWYdvOMpMxA0I6Xi3SbAzuqalRaLh4GTsKDSPkYaEBWDwvHs/PijWJy90zsC8AOGSgzBKuLEvONthKY9NVh3iktvYNazh8rBbx07IBAK++8AiWzr8Zvjhb/xNGx2Xa/XKRar89ba1SKZH9ZjLWLH+Cm7pnmHWSZbLilbAdrxVpnU6PVRuK4aNWYV5qrM0zAU5pLzjHMDeXJVcb+CJiyRY2riq22tJa7O0b5mBj6s5+4bmrb6tUSsxJGYuZSdHcjJQDh2sEM0gI2/H6gcOOTh2++vo7q8+fknAvAGD/oWr8eOlnZ5nl8rLkZIO5Qb+ubNHp9CjcVwEAmPjwCMnxaBZb+4Yl+OEEV+Guvu2rUWPqo6MAWJ4BQ1iH14o03zN76fWdXEpPRWAaxkxahTGTVmHlhmITsWBjfddb2xE/LdtkRJtNBfrXlbvtttGVZcnBBuNBP2MiR96N4KDeorawc4bZKWRzZ46TbIfUvmHtNU9pLwg+y4Y6HBWndlXf1un0eHx2LrbtLDO5n80FpQDsG1wlDHhtuAMAMl9JxImqepSUnkZYaAB69/JHe4cOpeV1AIDS8jq8sfbfgriaSqXEujeScPhYLU5U1WNYbAb32ervvucetMT4CLvtc2VZcrCBFeH6xsvoO/wlxEQOQvmp89zCFF+NGiWfLMTouEyBLf5+GsHycFunv4khpW90xbzUWGwuKEVhUQVGx2VibNQ9OH/hMopLtAgLDXDoYKKr+nZ7uw4p8zcjZf5mxEQOQnuHjmuLxPgICnU4AK8W6e27jqGk9LRojLDh4hUuJ/Psl98XrKYKCe6D5qrVovkjHowejL8895DDhNOVZbnbBl+NGod3L+JyU5SW12HU8GDBrJGQ4D7QlizH+ryD2Jj/Jfd12ketwozHHsD6zGS7wxyA9L5hiZDgPjh14DU899I2FJdoUVPbBB+1CrOSx2DV/z2GUQ+/iUtXrtttuz3229LWKpUSuatmYNiNtmBfAI7K6UIY8Npl4caJa8S8IXZprdjyaqL74ul9w9PtJ4R4bUy6/NR51DdetjgLgJ0pEBzUmzqxF+HpfcPT7SeEeK1Is4sejHMesDRcvMKtzEqaHOlq8wg34ul9w9PtJ4R4bbgDMKRyXJP7OQBDHG1s1D0ADF4Gm693VvIY/HNNitts9CSMM7ZZi7PmDdtjz8//a/PovkF9u/vg1QOHq5c9jgkPDceqdz/jBnKAm4Mk695IwsjfUXYvb8TT+4an20/cxKs9aYIgCLnjtTFpgiAIT4BEmiAIQsaQSBMEQcgYEmmCIAgZowQwVK9QbGTAXHW3MQRBEATAgGnTM8wW6H+NVnB/PLvZF+q2ZEahSFMoFLToniAIwsUwYGoUeqxDp6ZAEZJ6FQAUoideeDdKr1CmKRRIVkDhmF0uCYIgCFH0ChQoGWarInBOkfExUZFmYc5u7gV1ezKjxAsKKMKcZyJBEIR3wTA4p1AgFyrdFkXfuWZ3R7Ao0oILkndNEARhN5a8ZjGsFmkW8q7lB5ujoqm5hUuQTxCEfLDWaxbD5twdN4LZGwFsZC5ujNcrFE8rGSTbeh2CIIjuDsOgSAHFVmXQ7AKp17BrnrQicE7RLf3SnoRK1w/AEobBOXuuR3g3eQVHoAhMw5RZOe42hSAkwzBo0kOfBYU+RBmUlqCwQ6ABB2XBu+G+ZwHIIu+aIAhvxBFesxgOT1V6IxhexDRvWACdaibDIE2hwABHl0MQBOFuGAZNjEK/RalArjIw/ZwzyrB54FAKTON7yQyYpxUKxLuivO7E9z9c4zZdZXdrDgsNwMykGDw/KxZ+v/ExGTjsd2dPbrNTABg+NAib3kkRHVD8/odr2F18SrDpKAA8GD0YG956EuFDAgXnG++fd6KqHk+mb8KVa62S98vLKziCZ17MFz3mo1aZDIbqdHrRjVKTJkdi8dw4E5vtobhEi1ezdgvqhg//nq2pm2stv9hV323tOm6jXsBy29pqPwtbv0tX7BL0OXOby+p0erz29qcmffSxCaPw5uLJZmrWs2EYpkzBMLno9C1QhKS2ObMslyT9vxGTKWC+zxmgZ5CmYJQzFQoEuKJsT+Zs/U8YHZfJdfyYyEFo79DheOV5vJL5L/zS1mGyo8mhstN4K3sfrlxrRUzkIJSW16GquhEPTFiBHTnPInnyfWavHxYagN69/FFaXocvj57GqIczLc4WMTzIhdzv39b9gOut7TaLdFBAL8REDkL1d98L7hUA1Opb4O9383pt7Z1ImJ7NiRTf5m07y7BtZxnys1MdslM1u7uJj1qFJxPvg69GjcKiCoGNgwbcIfpZsbqpqm5EwvRsh9R3V20r1X5+/fqoVZg94w/o7PwVhUUVSJm/GX/7xwGBqPN3vwkLDcDjE0cDAI5X1mPfF99g6fyEbrOHIgPmKqNQFigZZp0yaE6Nq8p1iSctBnnXltHp9PjTMznYs78SifER+GDDM1xnZz2XEb8LQvLk+0y2ieJ7RzqdHoszP8Ga3M9NvKaz9T9hxrw8zEkZKxA147J35aVzx8TKys9ORfiQQNSea0bogL6S75n1qI3LFLNr+NAg7Hj3Wc7zZOtkxfp9ot63rbC7afv7aQQ7bvNtMBbGrurmFqXSIfVtTdtKsb+rPsce42931lWbdQdc6TWL4bYseIqg2QXKoLQEKPQheuizKMGTkLITZ7BnfyX8/TR47+0ZAm9EpVLirSWJJp4TACTGRwgeVpVKiXmpsaIbk4YE98GRTxeZeJ0qlRKL5sYBAOobL6P1lw5RG/39NCjaPp8TSnsE2hrYOvFRq7DpnRRBaEClUuL1lydh4vgR6OjUYcX6fXaVxe6m/VL6eE7g2HISEyIAgNuSSgyxurG3vm1pWyn2d9XnWBv3fFbJ2aj91lDmyPDutRUXA6ZNr1BsBDBUGTQnWnFX+hZ3CDQgg1Slin7p524JTF+iaNf0g16fyjBMmbttkgO79p0EAIwfO1TwkFnCR63CkudNv172u7Mnbv2tbYtE2R2n2RCGWFlffPyi1bY5ArZOHnlomKiXzBcgS2LnbKTUjTX17ai2NQcr7Ob6nJiN7EvoX/85yQm2J8OAqYGeSVe0a/rd0m92uiIwzWVhDXPIZiPaG2+pLQC2MBdzw/QKxQsKRp+sgKKXm01zOTqdHt+daQbgOg+lprYJJaWncfKbegBAZ+evuHKtFf5+GpeU3xXW1snggXcCkB4fN77Ons8qsejPcYIYbMbqvQAMMWWpOLu+pdjPimzd+R+Rtuh9k2t2dv7K/X+2/hLuuP1WTJtyPzJW70VVdSOGxWbgqalRDh+8dTYMmDaGQYGS0ecq7/qz7JxE2Yg0nxtvr3Tm7OYFlD7VuRSXaLkZCN0B1tvruCEoUokaNRATx4/Anv2VuC1sAR6bcK9g4G3U8GBMenikzdd1VX3baj//JVhV3Yiq6kaz1/b30yAk+HYAgK9GjbqjmXhx+UdYn3eQG7w1HjOQI2xaUEWnpkB5Iy2oHJGlSLOY8a5nUoInx3D4WC3ip2UDAF594RHBSDw788NesXM1jU1XHeKRsvHZp6ZGoeHiZewo/C8Ag/e5eF48N/3RFlxZ37bar1Ipcc9Aw5gCf2DQGlQqJbLfTMaa5U9wU/cMs06yBIOWckHPMFvk6jWLIWuR5sPzrpd09wRP/AfmlPaC08phY7y2PpTuwNo6YeOqQwbdKVmodTo9Vm0oho9ahXmpsQ5LWOWq+rbXfql9TqVSYk7KWMxMiuZmpBw4XCM6wO1q+AmObrExwZG7cfvAoa0oQlKvKu6as1EZOGco9L9G6xlmCwPGLaOuzoT9mrj/UDV+vPSzyfGz9T+hsKhC8vX5X2/lhrlBvykJ9wIwXyc6nR6F+wx1MvHhEXbPz+3o1OGrr7+z6xos7qhvW+3vqn6txVejxtRHRwGwPAPGFegVKACYBGVQWogiMC3L1gx0csDjRJqP4q4/l90SNCfVMDOESWfAuH0k1lFMm3I/goN643prO2a//L5AtIpLtBgdl4kKbYPk6xt7pvzrGy9ycRXGg37GRI68m6uT+GnZgtkE7JxhdgrZ3JnjJNvBr5uXXt8JRWAa92/MpFUYM2kVVm4otmn2iCvrW6r9bBxbrH4BQx1vzD+Ev67czf3++OxcbNtZZnI/mwtKAdg3uCqVG4nelkCl63dLv7Qnrc3bLFc8JtxhCUH61BubEygVipluNssufDVqfLDhGUx6egMKiyrgP+h5wao8H7UKj/xxuF1lzEuNxeaCUhQWVWB0XCbGRt2D8xcuo7hEi7DQAJeLNCvC9Y2X0Xf4S4iJHITyU+e5hSm+GjVKPlmI0XGGJdfDYjMQFhoAfz+NYHm4I6YGZr6SiBNV9SgpPc2tDGzv0KG0vA4AUFpehzfW/tummKsr61uK/SqVEuveSMLhY7WC+u3dy1+wGjQxPoIrp71dh5T5m5Eyf7NgRSx7nitDHQyYQgWQqwzybFE2xqM9aTFY77o7pE/9/f2hOHXgNcSNCwdgeLCut3ZgVvIYXKlZa3esNCS4D3f9mtomvPf+Vzh45FvMSh6Dw7sXITiotwPuwnp8NWoc3r0I42IGAzDc77CwQG4mAWuztmQ5ljyfgNt6+qGmtgnHK8/DR61yWL0AwPZdx1BSehrLFj6K6kMZOPLpIpQXLQVzMRf15Vmcxzn7ZdOpauZwZX1LtT8kuA+aq1YjJ2s6Ro+4GzW1TVy/ezB6MHblpXMrC1UqJXJXzeDaorS8DscrzyMsNAD52akuWYEoSAsaOGeKp3vNYrhtWbgrofSphC0YJzUS85TZZddSk0o5E0+33xrYtKD25mr2BLpFuKMrKH0qYQvlp86jvvEyRg0PNjtDhJ1FEhzUW3YC5+n2m8MVaUHliFeINIvx5gQMkKaAItHddhHygl0Qw+bDMA6fNFy8wq3aS5oc6QYLLePp9hvDQFGiYJDr6GT6noJXhDssQelTHYdxxjZrcda8YXvs+fl/bViT+zkAwwyFsVH3ADB4oGya1FnJY/DPNSmONdpBsGlKAc+0n58WVA75M9yJV3nSYij6pZ8DsATAEkqfSrCsXvY4Jjw0HKve/QzFJVpuvq+PWoUHowdj3RtJGPk7+WZ+81T72bSgik7fAqWbss7JDa/3pMUg75ogXAd5zZYhke4CpvG9ZEaBNAWYce62hSC6EwyYCoWeWeeuZPqeAom0lXh7+lSCcAT8tKAKD0lw5G5IpG2EObvZl9KnEoRtsGlB0akpUMg4LagcIZG2A/KuCcI85DU7BhJpB8B510rF4u6aPpUgrOVGWtB1aPfZQl6z/ZBIOxg2wZNCgWTanIDwJvQKFCgZZmt3zJ/hTkiknQRzdnOv7r45AUHwk+l7Yq5mT4BE2gWQd010N8hrdh0k0i6EObu5FzQdMxkGL1CCJ8LTYBg0KYBcqHUbyWt2HSTSboLSpxKegjelBZUjJNJuhmneEEDpUwm5wU8LeiO/DeEmSKRlBHnXhLshr1l+kEjLEKZ5QwA6VXMYII0SPBHOhgFzlYFii1KhX0des/wgkZY5lD6VcBZsWlBKcCRvSKQ9BEqfSjgCSgvqeZBIeyDkXRO2Ql6z50Ii7cEYvGvlCwowMynBE2EMl+BIoVhJXrPnQiLdDaD0qQQfSgvavSCR7mZQ+lTvhNKCdl9IpLsp5F17B+Q1d39IpL0A5mJumJ5hFlOCp+6DXoEC5a+/riOvuftDIu1FUPpUz4bSgnonJNJeCqVP9RwoLah3QyLt5ZB3LU/IayZYSKQJDub7nHF6KNMowZP7YBgUKRTIVQSmFbrbFkIekEgTJlD6VNdCaUEJS5BIExah9KnOg9KCEtZAIk1YBXnXjoG8ZsJWSKQJm2Eu5ibeEGtK8GQlbIIjxV3pW9xtC+FZkEgTkqH0qZahtKCEIyCRJhwCpU+9CaUFJRwJiTThULzVuyavmXAWJNKE02Au5Mzs7gmeeAmOtpDXTDgDEmnC6XS39KmUFpRwJSTShMvw9PSplBaUcAck0oRb8BTvmrxmwt2QSBNuxeBdt8+UW4InLsFRu89G8poJd0IiTcgGOaRPpbSghNwgkSZkh6vTp1JaUELOkEgTssaZ3jV5zYQnQCJNeATM2c29oOmYY2+CJy7BkUq/jrxmwhMgkSY8DinpUyktKOGpkEgTHktX6VMpLSjRHSCRJroFfO+avGaiO/H/AXQL5D3oLW0jAAAAAElFTkSuQmCC" width="70%" class="smallfigure" /></p> -<p><code>bed_to_granges</code> converts a (0-based) BED coordinate file into a (1-based) GRanges.<br /> -An example is loading the 1974 binding sites of the transcription factor SRF:</p> -<pre class="r"><code>require(magrittr) -require(multicrispr) -bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') -tfbs0 <- bed_to_granges(bedfile, genome = 'mm10') -## Read SRF.bed into GRanges -## 1974 ranges on 21 chromosomes</code></pre> -<p><img src="data:image/png;base64,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" width="100%" /></p> -<p><code>genes_to_granges</code> and <code>genefile_to_granges</code> convert entrez/ensembl gene identifiers into GRanges using <code>txdb</code> gene models. -An example that loads of a small subset of the 1974 SRF binding sites:</p> -<pre class="r"><code>require(multicrispr) -entrezfile <- system.file('extdata/SRF.entrez', package = 'multicrispr') -txdb <- TxDb.Mmusculus.UCSC.mm10.knownGene::TxDb.Mmusculus.UCSC.mm10.knownGene -sometfbs0 <- genefile_to_granges(entrezfile, txdb, complement = TRUE) -## Convert 10 genes to 10 GRanges -## 20 ranges after adding inverse strands</code></pre> -<p><img src="data:image/png;base64,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" width="100%" /></p> -<p><code>char_to_granges</code> uses a 1-based coordinate vector to specify the GRanges.<br /> -It can be used to define four prime editing sites mentioned by Anzalone et al. (2019):</p> -<pre class="r"><code># char_to_granges: Anzalone et al. (2019) prime editing targets -bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -pe0 <- char_to_granges(c(HBB = 'chr11:5227002:-'), bsgenome) -plot_intervals(pe0)</code></pre> -<p><img src="data:image/png;base64,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" width="336" /></p> -</div> -<div id="transform-targets" class="section level2"> -<h2><span class="header-section-number">2.3</span> Transform targets</h2> -<p><img src="data:image/png;base64,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" width="70%" class="smallfigure" /></p> -<p>As a second step, the original targets may require transformation. The functions <code>extend</code>, <code>up_flank</code> (upstream flanks), <code>down_flank</code> (downstream flanks), and <code>double_flank</code> (double flanks) can be used to update the target ranges as required.</p> -<pre class="r"><code># Extend -targets <- pe0 -invisible(extend(targets, -22, 22, plot = TRUE))</code></pre> -<p><img src="data:image/png;base64,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" width="65%" /></p> -<pre class="r"><code># Up flank -invisible(up_flank( targets, -200, -1, plot = TRUE))</code></pre> -<p><img src="data:image/png;base64,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" width="65%" /></p> -<pre class="r"><code># Down flank -invisible(down_flank( targets, 1, 200, plot = TRUE))</code></pre> -<p><img src="data:image/png;base64,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" width="65%" /></p> -<pre class="r"><code># Double flank -invisible(double_flank(targets, -200, -1, +1, +200, plot = TRUE)) -## 2 flank ranges: 1 up + 1 down</code></pre> -<p><img src="data:image/png;base64,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" width="65%" /></p> -</div> -<div id="find-spacers" class="section level2"> -<h2><span class="header-section-number">2.4</span> Find spacers</h2> -<p><img src="data:image/png;base64,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" width="70%" class="smallfigure" /></p> -<p>The next step is to find N20 spacers followed by NGG pam sites. -This can be done with <code>find_spacers</code>, after extending target range(s) to prime editing neighbourhood(s):</p> -<pre class="r"><code>bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -neighbourhood <- extend_for_pe(targets, bsgenome) -spacers <- find_spacers(neighbourhood, bsgenome, complement = FALSE)</code></pre> -<p><img src="data:image/png;base64,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" width="288" /></p> -<p>For prime editing, however, it is better to use <code>find_pe_spacers</code>, which performs target to neighbourhood extension implicitly, and also adds 3’ extension (Fig 1) to returned spacer GRanges.</p> -<pre class="r"><code>spacers <- find_pe_spacers(targets, bsgenome=bsgenome) </code></pre> -<p><img src="data:image/png;base64,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" width="316.8" /></p> -<p>This finds prime editing sites that follow Anzalone et al. (2019)’s recommended default settings: a 13-nucleotide primer and a 16-nucleotide reverse transcription template. These settings can be easily altered (e.g. Anzalone et al. report success with reverse transcription templates of up to 48 nucleotides) by:</p> -<pre class="r"><code>spacers <- find_pe_spacers(targets, bsgenome=bsgenome, nrt = 48) </code></pre> -<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoYAAAFyCAMAAABfv+vZAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABzlBMVEX///8zMzPZ2dmfYhkaGho/gb3Z2Z9iGRkZYp/Z2b29n4FiPxkZPz9in73ZvYE/YoG92dnZn2K9n2I/GRkZP2KBvdm9gT8/Yp8/YmIZP4GBn70/gZ8ZGWKf2dmfvdlin9kZGT+BPxk/P2LZvb2fYj/btmY6OpDb//+2ZgAAAAAAOpDbkDo6kNvb27aQZjo6AAA6OjpmkLb//9uQOgBmtv/btpBmOgAAOjqQ2/9mOjoAADo6ZrYAAGa2////27Y6ZpC22////7ZmAAC2kGY6OgAAZra2ZjoAOmZmZmY6kJAAZpCQttv/29tmkNvb2/+2kDr/25D/tma2traQZmaQkLbr6+uQkDq229s6OmZmttv/tn/4dm34dnL6on/61////8iOTU1NTU1NTY7I///kyKuObm5NTW5ujqvI5P///+TIjm5uTU1Nbm6OyOT/5MiOq8jk////5KtNbqur5P9ujsjkyI5Nbo6rbk3/yI5NjsjIq27kq27Ijk1uq+SOyP+Oq6vIyKuObk1ubo5ubk2ryOT/5OSrjm7k5MjrrHz1yOv4dnH1nHxmZjo6kLY6ZmZmkJDbtraQkGa2kJD/k2/5hG/5u/+2/9uQOjq2tpDbkGZoTs88AAAAAWJLR0QAiAUdSAAAAAlwSFlzAAAdhwAAHYcBj+XxZQAAAAd0SU1FB+QEFxIoFVZtB40AABtkSURBVHja7Z37fx3FeYc3IJKQthQwoU3apjSN4rOWbZnjCyDwFR+b1o6xEhQuSgMnob7g1rVpAqISJKYNJG3T9H75bzu33Z3Z29l3d17t7J7v84vO7My+WknPZ2672jeKeuALgEwff6eR84WHAA1oyAA0pAINGYCGVKAhA9CQCjRkABpSgYYMQEMq0JABaEgFGjIADalAQwagIRVoyAA0pAINGYCGVKAhA9CQCjRkABpSgYYMQEMq0JABaEgFGjIQjoYPrzxSXvHFL325otAL0JCBAWj48MqXKwq9AA0ZCF7DRx9eycxzCj0BDRkIXcOv/NZKZp5T6AtoyEDfGkqzfvt35Ceh4WOi8LuPi89PrDzy5IGVp7760NMrK7/3ZGKeU+gNaMhAzxoKsySPKA1//4D8/LXHpYbys/j09FNfF4VEQ7sADcdEvxo+dmDlDx5/6MmVP/wjqeHK177xkOgE/1hqqGzUOOZBw1HSr4ZPa6keluo9rM1TU8QnVp75atoIGo6fXjV89E+kfwazFaPMfMLqDKHhEtCrhl/8ktXpmZUyNFxGetZQTgoNroZV5kHDURJqbwgNl4qQ5obQcGkJYqWsvkDDJSaEfcOvHNAbNtBwaQnjLopUCxouMUHdU5ZfoOEy0reGwwMaMgANqUBDBqAhFWjIADSkAg0ZgIZUoCED0JAKNGQAGlKBhgxAQyrQkAFoSAUaMgANqUBDBqAhFWjIADSkAg0Z6DsN4hDp+282Qvr+kw6Rvv9mIwSDMhVoyAA0pAINGYCGVKAhA9CQCjRkABpSgYYMQEMq0JABaEgFGjIADalAQwagIRVoyAA0pAINGYCGVKAhA9CQCjRkABpSgYYMQEMq0JABaEgFGjIADalAQwYC0NB6Ebv++NgB/dbDZ775DXkwV+wbaMhAyBoK5Kuxc8W+gYYMhKmhzoryp99aKSn2DTRkIGQNTaaAXLFvoCEDQWuoX0ScK/YNNGQgaA3RGy4LIWv46LdU6rxcsW+gIQNBaLiS4a6Un5JbNLli30BDBsLW8BmZqiJX7BtoyEAQGlYNyjrVfK7YN9CQgZA1NHmVc8W+gYYMhK2hKueKfQMNGYCGVKAhA2FriEF5SQhaQ7EmeaRQ7BtoyECYGqb7N3r72in2DTRkIGgNv/l1qV2u2DfQkIEANBwYVA1Xv32w49+oe4TggYZUiBpO4kMdJeoeIXygIRVoyAA0pAINGYCGVKAhA9CQCknDtVhxWH4+cnRdfDz2rHJqejw+cfJUHD/3vCicfCGON148uBa/dFqddUa23Dh7zolw/kJ8ePryRXHKs4mV+YizSIYUkXTIWEfIBQwSaEilpYbTS7Hh8mktzSuyIMQTHxUvHTUariUtX8xp+GenrAglEf98YiKdNlUbz0eFgEECDam0HJSFCrKXOiNMmmlppCRnrsgWskZJpTRc093Y1UtGGxNBaBhvfOdgdOa46V1LIiaBnovPXoumr8b6zHzAAIGGVNppKCSaqbL4IA9IaU6oA9fXtVXSFqmhKOuW4oDqzSwN1RniVHmgLOJhUzY1k/KAAQINqbTTcDMxQNgi3TBflBvmg9BHfkrLerZna2iWKtqu6oiTbDCWHwoBAwQaUum6Up4k0hzKVhZWja2KPjffn1pelUY05ciYWgwYINCQSgcNrx757vcuxok06ZB6OLL0kkNqhmyaaXi4oGFZxJyGxYAB0nc2ziHSTsPVi7YKPjSsiAgNl4M2GupdmWOvvHZtUtAwGTMTDWelEfIaVkYsahjohNDW0C5sbTU6p2Erj8EaxvIarKpVOw3N7kpkzeS0HCVzw8JkslTDyojFuWGgE0L7l2oXoGGDWK00zFww6+FMmvxKOV3nJieVa1gT0dWwGDBAoCE1VkcN1/IzuZJ9Q9N0U28ULtJwrX5uWAwYINCQGouoody7m15LhtAjp8wtNmssXiveRbl8JbJvgqgIFYNyScSchoWAAQINqbGIGm7KhcQsOm9uB8dnX1VdkqXh1NwJvvz9/D1lLU0SIadhdcS8hvmAAQINqbHI/wSwLiQSvZ18OGbj7Otm5erc0Cg+YSO3Yt644kQobNhURixomA8YHtCQGovvX6KCvcfBDzSkxvKtYdp3hXvHlx9oSI3lW8O1wqM2Swg0pMbyraGwb+NN0ReKGWCgd9r2AWhIjeV9bri5njxEfc5z5OEADamx/C9Rrl7S69hlXZ9E0JAeCy8PYSBADd/a/sFfbP/ghy1iQcOhAg2psaAhA9CQGgsaMgANqbGgIQPQkBoLGjLQm4bb27lg28kRaLh89KTh9nZi3VbhEDTsm7ffmSt+9OPs2Lt/OZ/fuHmrpHD7vTvz+V/9tR3grqz/m3tZYZ40lty/8/693HfsT8NiMCMiNOyb+3cKGr6nj9z420LhrnH2J9n5P9VHPvixFUw3ltz+cB6KhhXBlIjQsG925h8VjtwQ3d3dD5WZTkFI9cGt6PbfWZ4J8d4Xh95TtknpbsnGqXq78wA0TLvB8mBKRGjYL3vzj90DwqVP5FcxWn/iFoSTus/czdTdM5rtyfr7d1T92+8kmsresW8NszlhZTDZAhr2ye0Ps55N8/Y7ZnyWgjqFxEnndHNIdaqmZ00Pig8/631umJewLJjuEKFhb7z9zvs/fzCff3qrWOX0k46TGanFaimS7w335h+Fs0SpC/bWdqHPhIb7SbJCKfRz1tCaFKRSP/17sRz5h/S4q2E6N9Rj9o4YkG0NkzdhbHGy3Y0kRAhfU8av4Y5Y9t6LfvHZPD822xNAUxBKfaadzbrJPdNKzxFv63W1iBhZ6iZtoSE0rGA31Si3UtmxxdSFHW2YcM1ZKetDavVy/4HevbmVhux1UC4sTqqCqQ0btzUG5T7Yya1od+7c+CRf2Em6wT2ro9zV/ePP9NzQ0nRXRex3blhqYbmGmBuGgFldJOzafWFSuH/HnggmvKtWOOrQnqWpaTykJQpWyr3j6mIPu1khVTXnrETu1TjrFdNL5u8TRr1sXzfYN8SGTY+4+37JwT1zby5XSDXbKe5J633FYDV0RNwqqR/5XZS3cj9daOzldpz1Mcsyu7BXXM/s6o96CN4rzh3DGJRz075c3RLcUw5dQ72quPvAkm3XttApiMY3b7krZX3P+d07SsCdspV0CBpWB9M9JTTsGzN4/ii9jZI8+SX4yC3IJbN+gsba6zZP4GjZkpE42/wJXEMzXEPD3lHPC+oNZ8XO3DLPKcjGn93J3/mT91XSJxA/l88bfhrk84bZUsV57FV9WAYNy/dQlxf8EwA1li8N4aFFSIOyYRk0/GEEEW2gITWWr7nh9kIRz19IX/GlP143L13aeOOcPJgrDhloSI3lb4myyMNKDWP9SsRccchAQ2osnyvlehFLNNRvJb56KS4pDhloSI3ldcOmdmSu1FC+n/hEoThkoCE1lud9wxoRqzWMJvL9xLnikAlQw/axhqhhzciM3rAWaEii2ZPmJSdWaji9pFJX5IpDBhpSY+2nhrlEyNnSWL0mO1ccMtCQGovhnjJdQ5k7IF8cMtCQGiuAuaFMXnGiUBwy0JAaK4iV8qacDeaKQwYaUmOFsG+oy7nikIGG1FgB3EWBhqpZs1bQsIIO95QxKFvNmrWChhV0eMLG2La67txFWR180kdoSI21f88b1j1ho7evneKQgYbUWPv39HW1hjq/Xq44ZKAhNRb+F4UBaEiNtQz/mbfvQENqLGjIADSkxoKGDASo4XI99gok0JAaCxoyAA2psaAhA9CQGmv07zfsA2hIjQUNGRi3hoVNYrltDA3DY8waljw8IMvQcBEeE9ne/tB9z3BJY8l4Nax8ggUaLsJjItuchiWN9S/VLoxIw5rHqFTKnfY/5RJo6DORbXpM1pc01oxUw7onWEzyqrY/5RJo6DORbRpAvwi70FgzSg3rLZPBGnSHy6uh10S2mt0kxfcn5d9yhBou6uswN1yA10S2JqLyr6SxYXQaLh5wt6yhu8VPOX4NvSayVZhBuKSxzwyifrN1/lKZ9KuW53eg2Q87fg39JrKNMntLGkNDaFiB30S2UZbIrKyxZmSDcqMlsBWspvXyDsoJXhLZRs6apaSxYmQaLv7nXyxRGuMlkW3kZBktaywZnYaL1yhbZj3d8qdcJg27J7K1v9Y0Hp+GCzvErUbr6eXV0GsiW/trTeMxarhARKNh259y9Br6TWTr7IbvVS1+xqlhbW+HueECvCaydTatSxprRqphnYjQcBFeE9k6U8ySxorRalg1MsvtwU4/5RJo6DeRrTMRLGksGbGGZSLqbepOP+UyaLjvjFpD/BPAUBi3hn4vTAMNGYCG1FjQkAFoSI0FDRmAhtRY0JABaEiNBQ0ZgIbUWNCQgQA1bB8LGg4VaEiNBQ0ZgIbUWNCQAWhIjQUNGYCG1FjQkAFoSI0FDRmAhtRY0JABaEiNBQ0ZgIbUWNCQAWhIjQUNGYCG1FjQkAFoSI0FDRmAhtRY0JABaEiNBQ0ZgIbUWNCQAWhIjQUNGQhQQzz2unxAQ2osaMgANKTGgoYMQENqLGjIADSkxoKGDPjSsPRtMe2CQcPlw4+G2xXvzmoVDBr2jcdEtvl6WTO/yfRiuTLjmiVIhIYB4jGRba7eRC7k/WGdGzYRERqGh89Etk69KIgacWb+de1dNazLFxs1ylJSOAIN+8ZnIlun3iSicFLvKbpp2OBN5wuzlBSOQMOe8ZnI1q3fKckxoOisYXWrrbRNbXbjwhFo2DM+E9m69Uy9YW2rtFmtiNAwOHwmsnXr07lhOoC3ySDqIUNnoySg//hPpPZtvrZn/Br6TGSbq7+tF9lZkgFoCA0r8JnINld//4HeysmP960H5YVr4C13QV3VGoNysPhIZOvWp4L6mxsS8sVibjhIfCSydev3esynXL9UhobB4iORrVPvLF6cpt23rxvsG243DKaBhv3iNZGtU8+qYW2GxMVTyMIRaNgzXhPZOvWMg3Ll2mOryb08aBgeXhPZOvU7c+9LlIWtmj1iAw3Dw2siW6feRM7vBHFq2OyBQ2gYIF4T2Tr1n8vnDfkS2ZY+9touGDRcPvBPANRY0JAB/EsUNRY0ZAAaUmPxabj67YNcoUMHGlJjsWk4iQ9BQwk0bBALGjIADamxoCED0JAaCxoyEKCG7WMFqOH5C/Hh6cvrcXz5SnLoyFFRjI89q5ybHo9PnDwVx8/9c6w4TAk+HqAhNRZZw18f14bpvm56KTZcPh0pDV+RhZe+Dw0ToGGDWGQN4/jsNWXfTB5Yi+MXhY9nTumy0DDeeD46cwWDcgo0bBCLrqHST1gmdJPlWVIhrZManohMA2iogIYNYpE1fOl08kkIuKlkjJR/ssJ8kUBDAzRsEIus4cx8zGk2STRMjkJDAzRsEIu+UjYfJ2m/d/XId793MU40rNB0qYCG1FhkDc3UTyxOlIarF5OlMjRMgYbUWN16w6navTn2ymvXJtAwAxpSY3XQUGhm9msia24IDaEhPRZZQyOXEjJbkZglNDRUQENqLPq+oe4O1b5hpuEa5oYW0JAaq8VdlF8fjM4c1TqaQfnIqVjdPbE1XBMHptcowccDNKTGImv4L+vW7eLzp8wy+eyr6vaJpeGmPDyjBB8P0JAai75EkT1hfPacPjB9+aLoB8++bja2LQ2jVeHrbDnHZWhIjdV6pQyqCVDDUT32Cg0bAQ2psaAhA9CQGgsaMgANqbGgIQPQkBoLGjJA0TB5K82WdWRxep4FjFxD0IjmGmZvK9wqOVYEGg4Wr4ls3WBOitsMkoZJM/dozdteGwANw8NrIlsnmFNj4eOlw+UiQsPB4jORrRPMrbFopGFOs1yripEZGg4Wn4lsnWBujUUDDQuWbZW1KIgIDYeKz0S2TrDSVBeKxRoWFdtq0ggaDhafiWydYF3yopT0c1Fps3yfCQ0His9Etk6wEg2rMojuU5bQmq+/VElEf9VnltDlziDqM5GtG8ypUUBDaFiBz0S2bjCnxqZ+UC5fBFetp922GJSHjo9EtrlgZTWSRXPD0q2YsmvG3HB0+Ehkmw9WUiPxmJ4nv56GhgPHRyLb8mAtNmyKlPWZ2DccDZ4T2ZZtFRZmnc00zM36irVlM0hoOFA4EtnqYE6NTWMNLdFKbuaVnAMNh4rvRLZZMKfGpumgbJu25VbUpvVeCDQMD6+JbJ1gTo2Fj+zyFa2g4WDxm8jWDubUZHTTsC5bLTQEjemsYXUraAiagn+JosaChgxAQ2osaMgANKTGgoYMQENqLGjIADSkxoKGDEBDaiwvGsZx7CHKeAhQw/axBqUhRLSAhtRYngZliGgDDamxvM0NIWIGNKTG8rhEgYcJ0JAay+tKGSJqoCE1lt8Nm9qR+cwLMr/em/LjJD5x/VS88axOFHBSVjyXFE6Jz2+aM46ux/Eb5+THzfjw6np8+XmfV8sGNKTG8r1vWC3idZNQZRZJDX+znuZNuRRnFTLhT5p1xZyxIZOWbqqELANJPAUNqbHIGsaNKJ43PS7TS0Un12U2qYkw6pzMnHJCZai/IupXVZopYZ5otaoyn52/IFNQTV9Vhc3BOBhBQ3qsfdPw/IWNbEQ1OcHXpFoT3fUJTU/IIzNdn30WXw8rWYcxIKtfql2Ahg1iMdzMq+wNL7+eFIx65y+YDPVX//XfTslsZ9rF5AQj3vV1IevmgDpDaEiO5V3DyrmhmvVdfk3JNNG2adPOJIn3Tjhdpk4ZniSuh4beg41Yw7ql8upFVStTjtoayoXIxhu/ef240tB0j5HJVmppOPN6oaxAQ2os7/uGdRuH039/Qa+CLQ1ltseDkZkb2r2hM5mEhv6DjVXDJrvXYuGbLUuur790OrFNdH75uWH2GRoyBBunhgsklMrpr0pDNdOTa+FEw03VTa4lu4czs45WNWqJAg09BxujhgufbBCd26FzYj2iMi5PVKpltW+oB2XRSSoN9b7hSbWhKPpHeUayuwgNuwT7j+3t/9ze/q8WsYakYYPxOLmLcvm01PCV9GbJpj586FUl2pp1R2XTnPFiBA27BlsGDZs90qDuEOtbx2KJIjo5c+vY3EU2WzLFe8ryHgs07BhsSTSknTCxVx/jAxpSY/XzL1HQsAA03H+goab4fsO6F9hEnjUsfKuKdyo2+o7QMDgaaui8Z3Or5FgRjxqWfKeKdJGNviM0XABzItv5zUL+qeYaWs2sowxv9MpruED3+mA+L8z8xsb/7/J8iWxNoZD3p+PckCOtt6uhSfpTfvLCpJJeL8z8xsavIVsiW9FY1IgzyYlsF6Tn2fb/0mFHQx2+RsPal8P7vTDzGxu/hmyJbE3WCif1nmKBhqWWbS1uEvnRMAldN1uoD+bzwsxvbPQasiWyTXrG4kmLNSxe5laxkc+03qmGmeDYsNlP2BLZtu4NSym28pqex2ho97KLYiUNoaEP2BLZZnPDdAAvzSDaNX2op69d4UsfuhQZRPkS2arkoTrnqAEaQsMK+BLZRvcf6K2c/HhfPSjLv2f5ZZYNV8XWHQdlJ97iWGYp0+g7YlBuhv9EtqmghLlh9Y5g4UiZsj7mhsRY0NAr/hPZ7pU4q/CyRCntODuvlK0eseHNbmjoFe+JbN3Fi02D7esF+4beUzdm+4Zp5IY3u6GhD/gS2XbTsDDrW1BfHaysWeGIfRfFBG94sxsaeoEvkW2XQblgWcOFjLebeduYG+4rnIls6UuUSrJW1RL6e8JGb8E0+wVCQy/wJbI1hdb5lJ1myYc6Cz0+b1j+bZrcZvR7YeY3Nn4NGRPZfi6fN/y07fOGziTMeuy15kfx+fR18VuVT0mh4UDBPwE0vzDzG4OG/sG/RFFjQUMGoCE1FjRkABpSY0FDBqAhNRY0ZAAaUmMhgygD0JAay5OGHoKMiAA1bB9rOBo2RL6sS2eGur6+ML3E9OUXm8Zd0++ODQdoSI3lN3Vjbf1a9n7DBhoS3iQHDVsFG6+GdSIK9d5U2SdmvjUMDmhIjeU5E0BNpfXadSfxRAXQsLQVNPSDMnB63Eq2k+UJNS98Fab+9/Hk1cNWFlH5jtiLcXxWFax8pGZQPnM0TiqdlvsPNKTGYklWVlerMgFEk5l1IMsTqnpMmYlimmjo1h5LsvU4+Ui1hpsVLXsAGlJjtUrduOhrjYj6vf4WTp5QNWfUiSj0oOzUuvkDsnykayaHwNlr0fRSbDKUJi37ABpSY+2vhkIPlbXWwskTKksmUcqm6eisWpNNRXaZTgqpNSujiqidOS37ABpSY7HMDas0nP7PsfV44zvOISdPqOzlLmp3lIZu7STL3ePkI5UapjmlNmO3ZR9AQ2qsfV+inHRHSjdPqBpbk9xQs3yt6dxMCqksH+ma3T2qJZDdsgegITWW9wyiC5u4KWndPKGqPDPNZvlaRy4rH6nW0CxHgtAQkPEqYYOHHPTom2nobmSvqbzKmYZ2bU6uNB9peL0hIONXw8q6dPLmaujmCZVbhv+r65NB2aotyqXzkZbNDXvV0MHrb9hnsGAvjJWJvZTNcPKEKpkmJpXeLF9ryeXkIy1bKUPD4V4YK2LxIbcA9cZeRi5PqLBKj696CunUWnI5+UitfcOrR82+ITQc7oW1p8kThyZV6EZuS9nKE2omeKoLlLdJZB5lK4uoLZedj7TsLgo0HO6FtaXR0kTfBt4o3ufN8oQae/Q87//01o2VRdSRy8pHWnZPGRoO98Lagn8CqCHYv3awFwYAAAAAAAAAAAAAAACAm9vyFcY3b3UN865807EJk7ysu5C4pRnu6Z2u7/aH6fuaZbSOFwbYMH+Zrn8Y8xL4JJNVp7+2c3q368tp2PHCABt7JtNtIdcPCZ0SQ4RRf+CdfBYWajDrdD/XZ1K8dbwwwEVl3m8SSWIh0XXJr4VMqDTs071d38f5yCAgkrS3u53+QGnKe/V3TlOktcM53c/1mfxGHS8MsLFXkq6vU7iPpZTv//xBWTKWZjine7k+00l3vTDARXVux1bosTNZCFgZACnYp/u5vqRL7XhhgAvPGuq/t07U94vP5u2GQPt0L9eXTiw7Xhjgwvoze9jE2NF/391ijlMK9uleri9N+dvxwgAXXnvDnTs3nNFup9suizzdx/U5+YF9XBjwjU8Nd/NjXcceVp7u4/qKl+Gl6wce8bdSLuZs7qi2Ot3D9RVP9TMRBv5I9uO67cuJbnVv/oHpYdJBsJ067ukeri+dCXa8MMCHn7sU6p7bveyz+isX52RNQ1mnd78+a8+644UBNsSf5AMP92x37fPv35H7IncftIzpnN79+tI7PJ0vDPBx18cTNskDVALZ3+ya51ha3q1wTu98ffZEsOOFAT7ufib+MDfvdYqxM3c0jO7Khw9/0jqmc3rX63N2Zzpe2Jj5f4rB1CWhslLKAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIwLTA0LTIzVDE2OjQwOjIxKzAyOjAw22jGTgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMC0wNC0yM1QxNjo0MDoyMSswMjowMKo1fvIAAAAASUVORK5CYII=" width="345.6" /></p> -</div> -<div id="add-offtargets" class="section level2"> -<h2><span class="header-section-number">2.5</span> Add offtargets</h2> -<p><img src="data:image/png;base64,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" width="70%" class="smallfigure" /></p> -<pre class="r"><code>if (has_been_indexed(bsgenome)){ - spacers %<>% add_offtargets(bsgenome, mismatch = 0, plot = TRUE) -} -## Add genome counts -## Expand iupac ambiguities in pam -## Write reads to ~/multicrisprout/spacers.fa -## Map reads: ~/multicrisprout/spacers/spacers_to_BSgenome.Hsapiens.UCSC.hg38.txt -## Load results -## Count matches -## Calculate offtargets for 6 spacers</code></pre> -<p><img src="data:image/png;base64,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" width="345.6" /></p> -</div> -<div id="add-efficiency" class="section level2"> -<h2><span class="header-section-number">2.6</span> Add efficiency</h2> -<p><img src="data:image/png;base64,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" width="70%" class="smallfigure" /></p> -<p>Not all N<sub>20</sub>NGG gRNA sequences target equally well (even when matching sequence perfectly). For each position in the 23-bp gRNA sequence, the nucleotide present in current, previous and next position has an effect on targeting efficiency. The current community standard for on-target efficiency prediction is that of Doench et al. (2016), which can be computed and added with <code>add_efficiency</code>:</p> -<pre class="r"><code>if (reticulate::py_module_available('azimuth')){ - spacers %<>% add_efficiency(bsgenome, 'Doench2016') -} -## Score crispr spacers -## Add (4-23-3) contextseqs -## Score contextseqs with Doench2016 (azimuth) -## Run Doench2016 1 times on 10000-seq chunks to preserve memory -## No model file specified, using V3_model_nopos -## Completed in 1.2 secs</code></pre> -<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoYAAAF0CAMAAACJ5gjEAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAACFlBMVEX///8zMzPZ2dn/tn/4dm34dnL61////7ZmAAAAAGa2////25A6AAAAAAAAADo6Oma22/9mtv8AOpDb////29u2ZjqfYhkaGho/gb3Z2Z9iGRkZYp///9uQOgC2ZgA6kNvZ2b29n4FiPxkZPz9in73ZvYE/YoG92dnZn2K9n2I/GRkZP2KBvdm9gT8/Yp8AOmY/YmIZP4GBn71mtts/gZ8ZGWKf2dmfvdlin9nbtmYZGT//tmaBPxmQttvr6+v/8uP91tP91tv+7OP++P///8iOTU1NTU1NTY7I///kyKuObm5NTW5ujqvI5P///+Srbk2rjm5uTU1Njsj/5KvIjm6r5P/Ijk3/yI6OyOT/5MhNbqvk///vyMX8ubVuq+SOyP+Obk3kq25ujsjkyI7IyKtubo5Nbo6ryOTr4NPvyMzt2tPysLDwxMXysKv0n5n/5OS2kGaQ2/8AZpD/27aQZjo6ZpDbkDpmZjpmkNuOq8i229vb27ZmOgD80tP7paP7trX8ubr8yb8AZrbvwLT0n5zyqJ/zraurbm5ubm6Oq+T9zb86Zrbb2///gSgAAA1RvP//1KD4dof8xKD86f9Nbm7Iq26Oq6tubk3k5Mj/1ax+fn5+fpfB6v+zs7PbtpB+aVU+Pj5YWGqIpbNYWFjrxpn4doPyuZny2Os6OjpmOjoAOjpmkLY6OgCQ29s6kJC2kJC2kDqQOjqQBG5AAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAAdhwAAHYcBj+XxZQAAAAd0SU1FB+QEFxIoHC+xvykAABt+SURBVHja7Z35f9zGeYdhd1tR5oLWYYmxQ1FJ29RH4qqpe7ms1U1jb6NKokVJJSObskW7dnrJjUuLTWL1UtNT7pEeaapW7pXUOXv8h8VgBsC8AywW2PfF7gD4Pj9odxbYlyPg+cxgBth5g2ABPADYLOK8dYwHHgQ8oKEA0JALNBQAGnKBhgJAQy7QUABoyAUaCgANufA1/L7B9//Aoj1YMNCQCzQUABpygYYCQEMu0FAAaMgFGgoADbnIaDgYDBatwiKBhlzENOyziNCQi1CnPKgg4qGlww+Rt8vDMGbl4SPqQ6fYIqAhF7lrw6kiTtQw4miQK7YIaMhFcogyxcMCDY8dV6VHToQFxRbhn4YnVz9UvOHRxz48obBQZEfKpSJO1DBYO6XaP6fYIlqk4cnVD08oLBThCZuynnmyhsF6eDpXbBGt0fAjJ1cz80hhwYjPG04WEa3h/CjW8KM/uJqZRwqLpr6Gg0rU0XDtRKjeOMUW4YuGyqwf+mH1LtLwY1HhRx6P3j+x+qEnn1r9+CcefHp19UefTMwjhYUzVw3DDDpSPnMkyBVbhCcaRmYpVDt4cvXHnlLvP/m40lC9j949/fEfjwqJhnZh4TRxM6++hivPBLlii/BDw489tfoTjz/45OpP/pTScPWTP/1g1Aj+jNIwtlFDzOuyhvWvDdeeHdrXhqbYIvzQ8Gkt1Uml3kltXnyJ+MTqz34i3aknGpYMlUtGyhvqatAptggvNPzIzyn/DGYqJjbzCasx7IeGpXdSSjSMy06xRXih4aOPWY2eGSn3U8Py2yjQsFEefUxdFBqohpPM66SGM9xTRqcsR0lr2CMNpz9iM1nDaExyOldsEV5o6Fwb9lPDCg8clj1ho6evSbFFeKFhMlKOX/qpYaWnXidr+PBzSjun2CL80FDPG370KT1h01MNF63CIvFDw+QuilKrnxou2oMF44mG9J6yeoGGfcIXDdsLNBQAGnKBhgJAQy7QUABoyAUaCgANuWB9QwGgIRdoKAA05AINBYCGXKChANCQCzQUABpygYYCQEMu0FAAaMgFGgqw6LSHXWDR57ADLPoUdoFFn8MOQI/h2bMVv1Z5P+GAleOJB5y4HzQUABpy40FDAaAhNx40FAAacuNBQwGgITceNBQAGnLjQUMBoCE3HjQUABpy40FDAaAhNx40FAAacuNBQwGgITceNBQAGnLjQUMBoCE3HjQUABpy40FDATzW8OdHn/qF0ac+PVs8N+CogQpqoKEA/dBwFCFfQQ00FKAXGo6goef0QMORQbyCGmgoQOc1HI2gof90XcPRqNxDaOgF3dZwRBGuoKaDGj7/wjjmFz+TfXbul8bj8xcuuoXNF8cJ1t6bl7bG4/zOSfTL+YNISt3ScDSChjNxZSsn1lX9yflfdgqFGhqN9Qfkm4rtca80HI0qeGgCThxJT/8fd1DDnZwoO+Pznw2Cay/GapGC4cpW5lkk2ksX1faXXs7vvLk97pOGu9fzFIi5uxu/FG2r+D/uoIbb41foB1Gb96p6jZq5V2kh2yH7ypWtWLnnX4jMdHc+d2PcIw0jv6pImGpYRMX/cfc03HzRatlinn/BtGVKUFIw7MUtX1q4bF5zO++Nx6+93hsNRwUajqBhRZ5/4aVfiRqtNy7mN5F2MivYDaP6XBdI3240fPNzBV1+fzSc5Bo0zJOMUGy1NHE/W1DYs81KG9MrW1kTae1MNEwWYDkry+6u2Ouv7v7ar+/+xm/O8P3d3d2bhrfeUv+q8m7MlNebb5nybhJwKt3TcCfqOV8OfuvS2O2bqW5ZgdhZrKH1zd5qOF2/TMNdaJgokxup7NhiWoUd+8rQ1jAdStvf7E2nPMp1yiN0yvWhdkXlrfOvFhWS0XBazLWG9Jt90bBoiAINa2O1Zoo9uy20C85+eQ3JN/ut4dQJm+vQ0MG+tlN3QyyXrtLumXrljpSv0ovM/mgYFGlYNn2tJrCvQ8OYtI+1fdncHr/5mcJC/hpyz5T1q7NzrzQsvotyvVRDtIYGc9OXXPJt29eJ28VDkgT7Loq7c9AzDYvuKQtXUNM9Da9sqQmbazfG9nwLuUtCxEpvlCRE/r6Z3lPecy3sm4b5R2yEK6jpnobqllv8hEx6GyV58iu+H0wKgXsJqbiWPWHj7hz0UENHxMLddkd14hXQQQ2Da+oRwdcyuXbGlkykEOTnddT3L0UbL7zsfjMJ1jsNgykWKg1HdeLl6aKGc6frGloiildQAw0F6L6GiYjyFdRAQwH6oCF+Lu89/dAQi4d4Tl80bKKCGmgoADTkxoOGAkBDbjxoKIDHGrLiQcNWAQ258aChANCQGw8aCgANufGgoQDQkBsPGgoADbnxoKEA0JAbDxoKAA258aChANCQGw8aCgANufGgoQDQkBsPGgoADbnxoKEA0JAbDxoKAA258aChANCQGw8aCgANufG4Gq59fhiGh99OX3uJxxoWPPY66qCG62HE4YfS117SJg3Vyked03B5GP72ceu1n7RIw1EnNdwIw6P2az9pjYbJOnBV/2Pt0XDlbfu1n7REw2w5wqr/MWjYJtqhob0qZuHX86sy+Kvh/jvRkHjl1hH1/iCMWfkd89pXE9ugobM4a9HX8596q6ExL1z5QuCrhrKJbGlW2xvRN7/oLkTXAg1zawSL1nDuGkbinflSELx7Ox2a+NcpiyayJQWzgCddDDtogYa/m1+qWrKG89bw0FJ4LJ6XWTulJwl91FAykS0pRHupb97Ixfdcw+u/9/tkDfWbN0tS7ZD1/JOl1RusoDmCtTQ8SG1bHoanAz81FExkSwsmsJNIJfBcwz/4w7yGo1G5hiO/NVxPb5RE7eKdwEsNJRPZ0oIbLjuIpOSXhtcLNNwdVcRPDaOu+Nhx8tZDDUUT2RZltc0v2t4uDctyi7VFwzvJ+3VfNZRMZFuUTvT1rSxyWQZRwTSgjNc/uvnlP7755T9Js9HerJoGNH2tkQd0drrXGkomss1ruB0NsT+X7tw+DavrN0M62jlp2IprQ8lEtrmstpt/+mdb4/N/7vxJjzvlv8h1yqOqnbLqvr3slNW0oXmCYSP0dqRskEhkW5jj+9yW2997rGHREKXt14btmDc0SCSyLdQwn9GnZRpOm7DxXkP7LopqDP3WUCCRbdFIOT9U9lnDwnnD0ulra6OvGtJ7yj5qKJvI1i6kkdulYfFdlOtlGvo+fR0kT9jcfU+X/NNQNpGtcxflsv0XrINISt5pWHRPWbSGC3/e0ENEE9mSgo68eTU3FeS9hp8OoOG8EUxk6xRMQtHz7sR4CzS0Hzic8NhrgZvQkIFcIttcwX5s0TqIpOSphoGlYeG3C64BoWGbaIeGqYjd+y0KULRFQyNi934gChTt0bCjP5cHijZp2M3FQ0DQNg27uJQSCKAhNPQCaMiNBw0F8FhDVjxo2CqgITceNBQAGnLjQUMBoCE3HjQUABpy40FDAaAhNx40FAAacuNBQwGgITceNBQAGnLjQUMBoCE3HjQUABpy40FDAaAhNx40FAAacuNBQwGgITceNBQAGnLj8TX8y/Cv/pobo+VAQ248aCiAnxoO1D9/M/jK3w6+8nezxYOGrcJLDQcR0LBPeKvhABr2CB81HCT0SMMwDLlh2sziNRwMnICDjF5p2GcRfdBwEEzScNAbDYOwkohraolOnQO3UyxeQzfggNIXDSOmi3hoKd4nyWnRFDUS2UZsXt0aj//+s3aAePm4L1pryY3tteTyCyL6p+HAZbZ4bdRQi1i253p47Eiwn6X4aYgaiWzTZTTHr2Xff91OV2uCZeu7br44bqGGRMSOazhFxOVh3A4eWmp4mew6iWz1osKb/0ASVKjctZtXk0WHray2ir3xQjQc8KlfwbZqWNozH5iEewc6l0Vj1Elku5Mm7L6cfV1rFueiIEuwK1Tr2FINB3Y80Rp6p2GZiOsmw9RGlv+xCeoksnUyROmv2wktdpy0AtGbry7k2lBCw4EVT7SGi9AwrET+e2unTGe8PGz04rBOItt8amSaJSrXGm6PLy9miAINHXzXsE4iW6XU6/8YDUeypKBUw/TaUPfZar12W8OyDKKyiGg4UHGSeH68zpRBtIj8zbypGjY6ZVMnkW2k1CXtbNZMZkl44jGKHlfrvAKputDQew0nXRvOqzWsk8h2RxtGMu6kSXji0cuVG3r25mIassWd8qBmBX3ulF2ohpNHKPPSMKFKItudpBm084+Z9D5f1deGlqZ7JldUazWsW8G2alh6J2VOI+WEKolsr2wVJao9F49w4o+2LU3NztCwsIK8eKIalt9GSeYLm543NFRJZJuq6jirUHM1ZLyyl+WXcnZuiYa1K9hKDafdy5vPXZRaiWxTzQpSlul5xe5oOEMFW6jh9Ccb1k6FZ+ZwT7lWItvt/HjGpFDWXfB2/tqxDY82lD/b0GENqzzntT+XJ2xqJbKNdr5wkY6U9T3nc1uxgDtFI2n/NBy4j72WWdhdDSs+9br/TrTfraaHybUS2e5s5XLTmidwtGxJT5xN/vipoRuQSNiXx179eva6ViLba5e23Dt/6r5K+gTi19Tzhm+07HnDnv4IgBuj5XioYS9/EsWN0XJ81BA/EO0d3mqIn8v3CS81xOIhfcNPDWOgYX+Ahtx4WN9QAGjIjQcNBfBYQ1Y8aNgqoCE3HjQUABpy40FDAaAhNx40FAAacuNBQwGgITceNBQAGnLjQUMBoCE3HjQUABpy40FDAaAhNx40FAAacuNBQwGgITceNBQAGnLjQUMBoCE3Hl/Df7r3z//CjdFyoCE3HjQUABpy40FDATzWsDePvUJDaAgNfQAacuPJaHj//n1umDbTtIbuWkg1AvZLw3v37vVYRFkNc87l1+SqHrBXGgb3792v1iIeWprLisPzRVrDQe6DaiL2XsOI+5VEXJ/PwtfzpdlOecIqhdUC9k5DLWL5vmvrYfMayiayJdtzWW3NQSSlRq4NK3kIDTXqGrFk1/dvh7aGDa3FLprIlmzPZbVNDiI91vIj5YoNIjQ03LtX0iIehOHdZ5vXUDiRbbY9n9U2OYj0WM94UiY6Rpdgrx5Q0U8NSy8RD848R5KiNKShZCJbsj2X1TY9iPRYz6zhBMV0wAoi9knDuMGLSF7/9d/+/T/s8r3/LJu9aV5DyUS2dPtOQY4BfRDpsW5o+nq6h9DQ0vBeZOICNZRMZEu3S7WGgpl2KH3S0CV/M0+pOGlvo+HaqTTlrXR+CslEtnS7k9U2mDWDqICGg6pZOr8++MZ/DQYfzDMb6CzIa1g+bdO8hpKJbJ3tJKstNPRYw2mT2M13ypKJbJ3tJKutxfw75eJeGZ2ypnS+JmYOI2WDRCJbup1ktSUHkZTmoOGEwNAwZsrstWJ+GkoksqXbCxLomYNISrOumF46bxhgpFxOqmGle8rz1JCfyJZsJ4MXehBJaWYNJ+53Nqg2fw0NKz7Z0LyGzSSyVdsb1rBkv7MVH2+AhhWf85pDannhRLbW9mY75ZL9qkkIDdXQpNrezWsomsiWbC/IamsOIikxT8pgwuOGUyWEhtOHJnNENJEt2Z7PamsOIimxNcx/UklCaMiNIYtoIluyPZfV1hxEUhLvlCtKCA25MVpO89eGMweEhv0BPxDlxoOGAkBDbjxoKAA05MaDhgJAQ248rG8oADTkxoOGAkBDbjxoKIDHGrLiQcNWAQ258aChANCQGw8aCgANufGgoQDQkBsPGgoADbnxoKEA0JAbDxoKAA258aChANCQGw8aCgANufGgoQDQkBsPGgoADbnxoKEA0JAbDxoKAA258aChANCQGw8aCgANufGgoQAySylN3g+PvYIKSGg4mLqwXM2AGmjYH6Q0LE1IUTegBhr2BwENy1ZLgoagCrU11LqdtT8oWbYLGoIqzKChsq1Yw7yH0BBUgd0pl6+wDg3biGgiWxqMpLi1DiIp8TV0RISGbUQ0kS0JRrbYB5GU6p+UKSknoGEbkUxkS4LRLfZBJCWad1Yg9wk0bCOSiWxJMLrFPoikJKRhJiI0bCGSiWxJsMJUFzENaTiwAlYCGvqDZCJbEqxOXhRoWC9e9zSUTGRLghVoODGDqIyGA4HkniqD6Dc+8CBJaMMZRH1DMpEtDUa2QENoWIZkIlsajGyxaapTHmQBK4FO2T8kEtk6wYq2KHBtyI3XXQ0lEtm6wQq2KKAhN16XNeQnsi0ONq8JGztgJaChNwgnsi2aKsxddeIuCjde5zRsJJGtDka2kINIShKPNuCectuRTmSbBSNbyEEkpeknZeA+9lomITRsJ6KJbEkwssU+iKRURUO9o/3JRAmhYUuRTWRrByNbrINISrOclBIJoSGohuBPoop+EwUNQRXEfiBa/AtRaAiqgJ/Lc+NBQwGweAg3HjQUwOOllKBhf4CG3HjQUABoyI0HDQXwWENWPGjYKqAhNx40FAAacuNBQwGgITceNBQAGnLjQUMBoCE3HjQUABpy40FDAaAhNx40FAAacuNBQwGgITceNBQAGnLjQUMBoCE3HjQUABpy40FDAaAhNx40FAAacuNBQwGgITceNBTAYw3x2Gt/gIbceNBQAGjIjQcNBRDIElW6HzQEFainYbaKa/pBuYfQ0GU9TPjmrSO1vjmRQ0vhaeej9781DMNvf+e9pLz2+e+q8nF7n+XhHfsLUY0efk6mQvWpq2GytHr2QamI0NAl0zDi1vFa351ATsO1Eyb+ylH9wf6SLh8+Yu10KrxjvdfclajPDPA65bLFvGYKaNMDDcNjEh7mNMz+xsrbqpxaZv099dkd670hDtRwItvxhVz+KbEMohP2g4YO6+Hhh+I3a+++E2YmcHA1XB6GK89Evr1/28Q/CMMz34vKwzDdcf+29cej7SvPqJ57qCvXXCJbU8jl/RFcdLhwP2jokGoY6NP/dq1vF+JqeJBEjTaoPxY1dvpvRmXdHCrhMg3V9iP2NxtLZBvtHG2Jvjk9kW0R+azxZCOW2ayOraHqPQWaQ1fD9bTv1VpFreNpuxx3wivfS68No+1HScDGEtmarBUk9Z4+iPRYT9TQXdPa3YxFhytCNDTNVcT+O1H7tJKNnUlZeeaMdePtZmRbsNmwEWu3kba5RshIw7vHsyHKgV2loMFEtknLmP+SzPT1RA+hoQvRMFJBG3KQDCm+oDckZT10jTz779u6fOYhsj3ZfGupcMij/1immWk31/7niD1SVq3nIyeU1l+Ky40lsq3cGoomRWGe5R5oqHQ6ql/ORAq8e1sXVVk1hI+c0KJF9kSCHg/2T5kxRrT92JF4XuZ0svk71uaEqPG7Q/5ktKc9SXMnfbMxtAbKjSWyza4N0w68OIOogIYDiXSf6vXrKoPo4AOv04fWzyBapGE2dNCDCaNPkFzMKc+Omu1qx2R/s7u7OSHp8rNrRWeuMNXw20N7wqa5RLZx8lCdcxQa+qXhaWtoay7esl5Uu5Jqar69YbQzV33u5sTCpG2drqFujPffCePvN5fINrhyQ0/luP29fKeMLFGlFLWGTq9pyxIrlPWlB87FXvYla7NG3Tk5ncWImaih2eEgtMfM8olsU0EbvzaUO8t90HBdnXerL43fHlqyb7REu2czMtqzdToUcTfHPJvNVU+/Nkzks7c3kch2u8BZfRCrnJRB6bxhgJFyDQpGym7rJ6GhuTHifGrPMNoa0muABPFEtnTwQg5ilZNSMB9IN0+QEBrmIRpGl4KRUAWtIZ3Urq3hWtTKnjmSbCfzhmmna0/YJNvjz5pLZMvUsPSklEgIDfMU3UXJXxvS+b+8hsl96WQE42i4TmYQc3dRrO8q0hGP2bO5RLa8TrnkpJRKCA3z2Bo+a+4pZyODjfiCjjRPeohCPEu90a1bTsMD+sRW/p6y+TS7mWfqFF+qNprIttoQpfykDNzHXqdICA3zZC1Z/KRpbELBvKHRZSMs8izdfz0pks3ZtGOQfByuPEefsCHXget6u5qwieM2l8jWFHj5lDPb8NhrisTzhtZdlOQuyZnIi7X/DZPpatrcbbh3UZw+2+Ko3iH/fKOloTUm0q1sc4lsv6aeN3xD+nnDcgmhYR7iyN3Eion3lGNv8hd/7j1lezMdaMdeLQ/Ln77eN3es08H1vOFfG5bvBw0drN+iZD8VSZ6oufteVv5uSB6h0R8fkCdyijcvD3MaFv0WhUzOxNtXpH4cUx/8QJQbD7/MEwAacuNBQwGgITceNBQAGnLjQUMBoCE3HjQUABpy40FDATzWkBUPGrYKaMiNBw0FgIbceNBQAGjIjQcNBYCG3HjQUABoyI0HDQWAhtx40FAAaMiNBw0FgIbceNBQAGjIjQcNBXgAsFn0OewAiz6FXWDR57BziB9S6YDeVxAI4P1Z9r6CQADvz7L3FQQCeH+Wva8gEMD7s+x9BYEA3p9l7ysIAAAAAAAAAAAAEcIwXHQVQO+JF4FbdCVA3zGrES66Gh6wqRaPvXCRHygIzql1Zk0omuR+JmgIdj03X0xXzVURBSrIJlsWc3F18ANzNiROhlmCO8kjxD7LJAS/no6GAhUUoJqHa2qRV7oo6/u3df7QjrA9If98fXRCgihUfGJ33BwYswS0QsjV0yTaEqigBFUaRLOstZN1z8qz3HomZlyuTZLWJWq23CT3M2KHEK3nK270hRJONXFdJQDYt7P3LA/Vsun7t50UFK0lSTi6xz4pacLx+PySJPezQULI1dNkmRGooBhTPFwexu3goaUs19O6Xn3dbAlU63h6+t/xl+2CRGnskK8ENMn9bJAQYvU0jbVEBeUobxAPTJuXV+3QUjc0nJxVb2Z0v0mS3M+GHUKunkmzKlDBmoTVyH9xPc3m7XbBy8Okn4aGDvo80yT3M2GHEKtnenEpUMGaVNQw5+HaKdMZZ9IZns0yg3ZGQ6GJix19XvfyGSbrYocQq2eaeFWggjWR1tCkvNN0RkOZ1nBn6zzp5Xb4MywqhFQ9SZZWqQpWREBDe8pm7f++OYyznKk08YbDLZ2/kdZwz+3jBFpZFUKqnvnqiHUDU5n10nByp6ySgx7tgobCI+V8xlwBveMQQvXMf13uophB6UC5RMNo1JImI21zp5zOw/Hn46KmdXv8pmlZSJL7GaOREEL1TK8EBSooxrTp68kj5czMlmsod3civt/2cvbeSnI/azgrhEw9rTlrgQqKMP0eSqpYplrUDyd55ruhYXQa3hS6V7tnxyBJ7meDhJCpZ3qnR6SCEkyXcMJdlDvkte0aBteknrBJHpwy2cdJkvvZICFE6mlfCApUkE0VCeO270zunrLKDb52IkzMbLuGwbVL0cm4wG8SdsZEQ5rkfsaq2SEk6klmZwQqyKaChBH71hM2y8PYvA39xZWjFf4IAOVUkTBQSeWj3W7FbaHRMNj/1kLzwoNOUcnCefD/+W5qlQ2EL/0AAAAldEVYdGRhdGU6Y3JlYXRlADIwMjAtMDQtMjNUMTY6NDA6MjgrMDI6MDBO8IOdAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIwLTA0LTIzVDE2OjQwOjI4KzAyOjAwP607IQAAAABJRU5ErkJggg==" width="345.6" /></p> -</div> -<div id="return-spacer-granges" class="section level2"> -<h2><span class="header-section-number">2.7</span> Return spacer GRanges</h2> -<pre class="r"><code> spacers -## GRanges object with 6 ranges and 14 metadata columns: -## seqnames ranges strand | crisprcontext -## <Rle> <IRanges> <Rle> | <character> -## HBB_1 chr11 5226958-5226977 + | TCATCCACGTTCACCTTGCCCCACAGGGCA -## HBB_2 chr11 5226959-5226978 + | CATCCACGTTCACCTTGCCCCACAGGGCAG -## HBB_3 chr11 5226968-5226987 + | TCACCTTGCCCCACAGGGCAGTAACGGCAG -## HBB_4 chr11 5227003-5227022 - | ACACCATGGTGCATCTGACTCCTGAGGAGA -## HBB_5 chr11 5226984-5227003 + | GGCAGTAACGGCAGACTTCTCCTCAGGAGT -## HBB_6 chr11 5227021-5227040 - | ACTAGCAACCTCAAACAGACACCATGGTGC -## targetname targetstart targetend crisprname crisprspacer -## <character> <integer> <integer> <character> <character> -## HBB_1 HBB 5227002 5227002 HBB_1 CCACGTTCACCTTGCCCCAC -## HBB_2 HBB 5227002 5227002 HBB_2 CACGTTCACCTTGCCCCACA -## HBB_3 HBB 5227002 5227002 HBB_3 CTTGCCCCACAGGGCAGTAA -## HBB_4 HBB 5227002 5227002 HBB_4 CATGGTGCATCTGACTCCTG -## HBB_5 HBB 5227002 5227002 HBB_5 GTAACGGCAGACTTCTCCTC -## HBB_6 HBB 5227002 5227002 HBB_6 GCAACCTCAAACAGACACCA -## crisprpam primer -## <character> <character> -## HBB_1 AGG GTTCACCTTGCCC -## HBB_2 GGG TTCACCTTGCCCC -## HBB_3 CGG CCCCACAGGGCAG -## HBB_4 AGG GTGCATCTGACTC -## HBB_5 AGG CGGCAGACTTCTC -## HBB_6 TGG CCTCAAACAGACA -## revtranscript -## <character> -## HBB_1 CACAGGGCAGTAACGGCAGACTTCTCCTCAGGAGTCAGATGCACCATG -## HBB_2 ACAGGGCAGTAACGGCAGACTTCTCCTCAGGAGTCAGATGCACCATGG -## HBB_3 TAACGGCAGACTTCTCCTCAGGAGTCAGATGCACCATGGTGTCTGTTT -## HBB_4 CTGAGGAGAAGTCTGCCGTTACTGCCCTGTGGGGCAAGGTGAACGTGG -## HBB_5 CTCAGGAGTCAGATGCACCATGGTGTCTGTTTGAGGTTGCTAGTGAAC -## HBB_6 CCATGGTGCATCTGACTCCTGAGGAGAAGTCTGCCGTTACTGCCCTGT -## extension G0 -## <character> <integer> -## HBB_1 CATGGTGCATCTGACTCCTGAGGAGAAGTCTGCCGTTACTGCCCTGTGGGGCAAGGTGAAC 1 -## HBB_2 CCATGGTGCATCTGACTCCTGAGGAGAAGTCTGCCGTTACTGCCCTGTGGGGCAAGGTGAA 1 -## HBB_3 AAACAGACACCATGGTGCATCTGACTCCTGAGGAGAAGTCTGCCGTTACTGCCCTGTGGGG 1 -## HBB_4 CCACGTTCACCTTGCCCCACAGGGCAGTAACGGCAGACTTCTCCTCAGGAGTCAGATGCAC 2 -## HBB_5 GTTCACTAGCAACCTCAAACAGACACCATGGTGCATCTGACTCCTGAGGAGAAGTCTGCCG 1 -## HBB_6 ACAGGGCAGTAACGGCAGACTTCTCCTCAGGAGTCAGATGCACCATGGTGTCTGTTTGAGG 2 -## off off0 Doench2016 -## <numeric> <numeric> <numeric> -## HBB_1 0 0 0.462600534483403 -## HBB_2 0 0 0.611140169152868 -## HBB_3 0 0 0.485226524206282 -## HBB_4 1 1 0.666241339730174 -## HBB_5 0 0 0.517610901468318 -## HBB_6 1 1 0.68921726226521 -## ------- -## seqinfo: 455 sequences (1 circular) from hg38 genome</code></pre> -</div> -</div> -<div id="references" class="section level1 unnumbered"> -<h1>References</h1> -<p>Anzalone, A.V., Randolph, P.B., Davis, J.R. et al. Search-and-replace genome editing without double-strand breaks or donor DNA. Nature 576, 149–157 (2019). <a href="https://doi.org/10.1038/s41586-019-1711-4" class="uri">https://doi.org/10.1038/s41586-019-1711-4</a></p> -<p>Doench et al. (2016). Optimized sgRNA design to maximize activity and minimize off-target effects of CRISPR-Cas9. Nature Biotechnology, 34(7), <a href="doi:10.1038/nbt.3437" class="uri">doi:10.1038/nbt.3437</a></p> -</div> - - - - -</div> - -<script> - -// add bootstrap table styles to pandoc tables -function bootstrapStylePandocTables() { - $('tr.header').parent('thead').parent('table').addClass('table table-condensed'); -} -$(document).ready(function () { - bootstrapStylePandocTables(); -}); - - -</script> - -<!-- tabsets --> - -<script> -$(document).ready(function () { - window.buildTabsets("TOC"); -}); - -$(document).ready(function () { - $('.tabset-dropdown > .nav-tabs > li').click(function () { - $(this).parent().toggleClass('nav-tabs-open') - }); -}); -</script> - -<!-- code folding --> - - -<script type="text/x-mathjax-config"> - MathJax.Hub.Config({ - "HTML-CSS": { - styles: { - ".MathJax_Display": { - "text-align": "center", - padding: "0px 150px 0px 65px", - margin: "0px 0px 0.5em" - }, - } - } - }); -</script> -<!-- dynamically load mathjax for compatibility with self-contained --> -<script> - (function () { - var script = document.createElement("script"); - script.type = "text/javascript"; - script.src = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"; - document.getElementsByTagName("head")[0].appendChild(script); - })(); -</script> - -</body> -</html> +<!DOCTYPE html> + +<html> + +<head> + +<meta charset="utf-8" /> +<meta name="generator" content="pandoc" /> +<meta http-equiv="X-UA-Compatible" content="IE=EDGE" /> + + +<meta name="author" content="Aditya M Bhagwat" /> + +<meta name="date" content="2020-04-23" /> + +<title>Using multicrispr for gRNA design</title> + +<script>/*! jQuery v1.11.3 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.3",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b="length"in a&&a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function qa(){}qa.prototype=d.filters=d.pseudos,d.setFilters=new qa,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function ra(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1; + +return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function aa(){return!0}function ba(){return!1}function ca(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ca()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===ca()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?aa:ba):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:ba,isPropagationStopped:ba,isImmediatePropagationStopped:ba,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=aa,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=aa,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=aa,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=ba;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=ba),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function da(a){var b=ea.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var ea="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fa=/ jQuery\d+="(?:null|\d+)"/g,ga=new RegExp("<(?:"+ea+")[\\s/>]","i"),ha=/^\s+/,ia=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ja=/<([\w:]+)/,ka=/<tbody/i,la=/<|&#?\w+;/,ma=/<(?:script|style|link)/i,na=/checked\s*(?:[^=]|=\s*.checked.)/i,oa=/^$|\/(?:java|ecma)script/i,pa=/^true\/(.*)/,qa=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ra={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sa=da(y),ta=sa.appendChild(y.createElement("div"));ra.optgroup=ra.option,ra.tbody=ra.tfoot=ra.colgroup=ra.caption=ra.thead,ra.th=ra.td;function ua(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ua(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function va(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wa(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xa(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function ya(a){var b=pa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function za(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Aa(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Ba(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xa(b).text=a.text,ya(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!ga.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ta.innerHTML=a.outerHTML,ta.removeChild(f=ta.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ua(f),h=ua(a),g=0;null!=(e=h[g]);++g)d[g]&&Ba(e,d[g]);if(b)if(c)for(h=h||ua(a),d=d||ua(f),g=0;null!=(e=h[g]);g++)Aa(e,d[g]);else Aa(a,f);return d=ua(f,"script"),d.length>0&&za(d,!i&&ua(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=da(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(la.test(f)){h=h||o.appendChild(b.createElement("div")),i=(ja.exec(f)||["",""])[1].toLowerCase(),l=ra[i]||ra._default,h.innerHTML=l[1]+f.replace(ia,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&ha.test(f)&&p.push(b.createTextNode(ha.exec(f)[0])),!k.tbody){f="table"!==i||ka.test(f)?"<table>"!==l[1]||ka.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ua(p,"input"),va),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ua(o.appendChild(f),"script"),g&&za(h),c)){e=0;while(f=h[e++])oa.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ua(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&za(ua(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ua(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fa,""):void 0;if(!("string"!=typeof a||ma.test(a)||!k.htmlSerialize&&ga.test(a)||!k.leadingWhitespace&&ha.test(a)||ra[(ja.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ia,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ua(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ua(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&na.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ua(i,"script"),xa),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ua(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,ya),j=0;f>j;j++)d=g[j],oa.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qa,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Ca,Da={};function Ea(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fa(a){var b=y,c=Da[a];return c||(c=Ea(a,b),"none"!==c&&c||(Ca=(Ca||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Ca[0].contentWindow||Ca[0].contentDocument).document,b.write(),b.close(),c=Ea(a,b),Ca.detach()),Da[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Ga=/^margin/,Ha=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ia,Ja,Ka=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ia=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)},Ja=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ia(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Ha.test(g)&&Ga.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ia=function(a){return a.currentStyle},Ja=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ia(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Ha.test(g)&&!Ka.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function La(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight),b.removeChild(i)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Ma=/alpha\([^)]*\)/i,Na=/opacity\s*=\s*([^)]*)/,Oa=/^(none|table(?!-c[ea]).+)/,Pa=new RegExp("^("+S+")(.*)$","i"),Qa=new RegExp("^([+-])=("+S+")","i"),Ra={position:"absolute",visibility:"hidden",display:"block"},Sa={letterSpacing:"0",fontWeight:"400"},Ta=["Webkit","O","Moz","ms"];function Ua(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Ta.length;while(e--)if(b=Ta[e]+c,b in a)return b;return d}function Va(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fa(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wa(a,b,c){var d=Pa.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xa(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Ya(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ia(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Ja(a,b,f),(0>e||null==e)&&(e=a.style[b]),Ha.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xa(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ja(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ua(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qa.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ua(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Ja(a,b,d)),"normal"===f&&b in Sa&&(f=Sa[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Oa.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Ra,function(){return Ya(a,b,d)}):Ya(a,b,d):void 0},set:function(a,c,d){var e=d&&Ia(a);return Wa(a,c,d?Xa(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Na.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Ma,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Ma.test(f)?f.replace(Ma,e):f+" "+e)}}),m.cssHooks.marginRight=La(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Ja,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Ga.test(a)||(m.cssHooks[a+b].set=Wa)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ia(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Va(this,!0)},hide:function(){return Va(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Za(a,b,c,d,e){ +return new Za.prototype.init(a,b,c,d,e)}m.Tween=Za,Za.prototype={constructor:Za,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")},cur:function(){var a=Za.propHooks[this.prop];return a&&a.get?a.get(this):Za.propHooks._default.get(this)},run:function(a){var b,c=Za.propHooks[this.prop];return this.options.duration?this.pos=b=m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Za.propHooks._default.set(this),this}},Za.prototype.init.prototype=Za.prototype,Za.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Za.propHooks.scrollTop=Za.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Za.prototype.init,m.fx.step={};var $a,_a,ab=/^(?:toggle|show|hide)$/,bb=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cb=/queueHooks$/,db=[ib],eb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bb.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bb.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fb(){return setTimeout(function(){$a=void 0}),$a=m.now()}function gb(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hb(a,b,c){for(var d,e=(eb[b]||[]).concat(eb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ib(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fa(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fa(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ab.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fa(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hb(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jb(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kb(a,b,c){var d,e,f=0,g=db.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$a||fb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$a||fb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jb(k,j.opts.specialEasing);g>f;f++)if(d=db[f].call(j,a,k,j.opts))return d;return m.map(k,hb,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kb,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],eb[c]=eb[c]||[],eb[c].unshift(b)},prefilter:function(a,b){b?db.unshift(a):db.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kb(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gb(b,!0),a,d,e)}}),m.each({slideDown:gb("show"),slideUp:gb("hide"),slideToggle:gb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($a=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$a=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_a||(_a=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_a),_a=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lb=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lb,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mb,nb,ob=m.expr.attrHandle,pb=/^(?:checked|selected)$/i,qb=k.getSetAttribute,rb=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nb:mb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rb&&qb||!pb.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qb?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nb={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rb&&qb||!pb.test(c)?a.setAttribute(!qb&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ob[b]||m.find.attr;ob[b]=rb&&qb||!pb.test(b)?function(a,b,d){var e,f;return d||(f=ob[b],ob[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,ob[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rb&&qb||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mb&&mb.set(a,b,c)}}),qb||(mb={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},ob.id=ob.name=ob.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mb.set},m.attrHooks.contenteditable={set:function(a,b,c){mb.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sb=/^(?:input|select|textarea|button|object)$/i,tb=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sb.test(a.nodeName)||tb.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var ub=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ub," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ub," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ub," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vb=m.now(),wb=/\?/,xb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yb,zb,Ab=/#.*$/,Bb=/([?&])_=[^&]*/,Cb=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Db=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Eb=/^(?:GET|HEAD)$/,Fb=/^\/\//,Gb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hb={},Ib={},Jb="*/".concat("*");try{zb=location.href}catch(Kb){zb=y.createElement("a"),zb.href="",zb=zb.href}yb=Gb.exec(zb.toLowerCase())||[];function Lb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mb(a,b,c,d){var e={},f=a===Ib;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nb(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Ob(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zb,type:"GET",isLocal:Db.test(yb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nb(Nb(a,m.ajaxSettings),b):Nb(m.ajaxSettings,a)},ajaxPrefilter:Lb(Hb),ajaxTransport:Lb(Ib),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cb.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zb)+"").replace(Ab,"").replace(Fb,yb[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gb.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yb[1]&&c[2]===yb[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yb[3]||("http:"===yb[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mb(Hb,k,b,v),2===t)return v;h=m.event&&k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Eb.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wb.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bb.test(e)?e.replace(Bb,"$1_="+vb++):e+(wb.test(e)?"&":"?")+"_="+vb++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jb+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mb(Ib,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Ob(k,v,c)),u=Pb(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qb=/%20/g,Rb=/\[\]$/,Sb=/\r?\n/g,Tb=/^(?:submit|button|image|reset|file)$/i,Ub=/^(?:input|select|textarea|keygen)/i;function Vb(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rb.test(a)?d(a,e):Vb(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vb(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vb(c,a[c],b,e);return d.join("&").replace(Qb,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Ub.test(this.nodeName)&&!Tb.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sb,"\r\n")}}):{name:b.name,value:c.replace(Sb,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zb()||$b()}:Zb;var Wb=0,Xb={},Yb=m.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Xb)Xb[a](void 0,!0)}),k.cors=!!Yb&&"withCredentials"in Yb,Yb=k.ajax=!!Yb,Yb&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wb;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xb[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xb[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zb(){try{return new a.XMLHttpRequest}catch(b){}}function $b(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _b=[],ac=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_b.pop()||m.expando+"_"+vb++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ac.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ac.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ac,"$1"+e):b.jsonp!==!1&&(b.url+=(wb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_b.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bc=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bc)return bc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cc=a.document.documentElement;function dc(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cc;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cc})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=La(k.pixelPosition,function(a,c){return c?(c=Ja(a,b),Ha.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ec=a.jQuery,fc=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fc),b&&a.jQuery===m&&(a.jQuery=ec),m},typeof b===K&&(a.jQuery=a.$=m),m}); +</script> +<meta name="viewport" content="width=device-width, initial-scale=1" /> +<style type="text/css">html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(data:application/vnd.ms-fontobject;base64,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);src:url(data:application/vnd.ms-fontobject;base64,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) format('embedded-opentype'),url(data:application/font-woff;base64,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) format('woff'),url(data:application/x-font-truetype;base64,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JbwmFCZ+JuYnUCe8J/goNChwKKwpoCnMKiYqSiqEKworeiwILGgsuizsLRwtiC30LiguZi6iLtgvDi9GL34vsi/4MD4whDDSMRIxYDGuMegyJDJeMpoy3jMiMz4zaDO2NBg0YDSoNNI1LDWeNeg2PjZ8Ntw3GjdON5I31DgQOEI4hjjIOQo5SjmIOcw6HDpsOpo63jugO9w8GDxQPKI8+D0yPew+Oj6MPtQ/KD9uP6o/+kBIQIBAxkECQX5CGEKoQu5DGENCQ3ZDoEPKRBBEYESuRPZFWkW2RgZGdEa0RvZHNkd2R7ZH9kgWSDJITkhqSIZIzEkSSThJXkmESapKAkouSlIAAQAAARcApwARAAAAAAACAAAAAQABAAAAQAAuAAAAAAAAABAAxgABAAAAAAATABIAAAADAAEECQAAAGoAEgADAAEECQABACgAfAADAAEECQACAA4ApAADAAEECQADAEwAsgADAAEECQAEADgA/gADAAEECQAFAHgBNgADAAEECQAGADYBrgADAAEECQAIABYB5AADAAEECQAJABYB+gADAAEECQALACQCEAADAAEECQAMACQCNAADAAEECQATACQCWAADAAEECQDIABYCfAADAAEECQDJADACkgADAAEECdkDABoCwnd3dy5nbHlwaGljb25zLmNvbQBDAG8AcAB5AHIAaQBnAGgAdAAgAKkAIAAyADAAMQA0ACAAYgB5ACAASgBhAG4AIABLAG8AdgBhAHIAaQBrAC4AIABBAGwAbAAgAHIAaQBnAGgAdABzACAAcgBlAHMAZQByAHYAZQBkAC4ARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzAFIAZQBnAHUAbABhAHIAMQAuADAAMAA5ADsAVQBLAFcATgA7AEcATABZAFAASABJAEMATwBOAFMASABhAGwAZgBsAGkAbgBnAHMALQBSAGUAZwB1AGwAYQByAEcATABZAFAASABJAEMATwBOAFMAIABIAGEAbABmAGwAaQBuAGcAcwAgAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAOQA7AFAAUwAgADAAMAAxAC4AMAAwADkAOwBoAG8AdABjAG8AbgB2ACAAMQAuADAALgA3ADAAOwBtAGEAawBlAG8AdABmAC4AbABpAGIAMgAuADUALgA1ADgAMwAyADkARwBMAFkAUABIAEkAQwBPAE4AUwBIAGEAbABmAGwAaQBuAGcAcwAtAFIAZQBnAHUAbABhAHIASgBhAG4AIABLAG8AdgBhAHIAaQBrAEoAYQBuACAASwBvAHYAYQByAGkAawB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQBXAGUAYgBmAG8AbgB0ACAAMQAuADAAVwBlAGQAIABPAGMAdAAgADIAOQAgADAANgA6ADMANgA6ADAANwAgADIAMAAxADQARgBvAG4AdAAgAFMAcQB1AGkAcgByAGUAbAAAAAIAAAAAAAD/tQAyAAAAAAAAAAAAAAAAAAAAAAAAAAABFwAAAQIBAwADAA0ADgEEAJYBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMA7wEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwF0AXUBdgF3AXgBeQF6AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B3wHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB+gH7AfwB/QH+Af8CAAIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CDwIQAhECEgZnbHlwaDEGZ2x5cGgyB3VuaTAwQTAHdW5pMjAwMAd1bmkyMDAxB3VuaTIwMDIHdW5pMjAwMwd1bmkyMDA0B3VuaTIwMDUHdW5pMjAwNgd1bmkyMDA3B3VuaTIwMDgHdW5pMjAwOQd1bmkyMDBBB3VuaTIwMkYHdW5pMjA1RgRFdXJvB3VuaTIwQkQHdW5pMjMxQgd1bmkyNUZDB3VuaTI2MDEHdW5pMjZGQQd1bmkyNzA5B3VuaTI3MEYHdW5pRTAwMQd1bmlFMDAyB3VuaUUwMDMHdW5pRTAwNQd1bmlFMDA2B3VuaUUwMDcHdW5pRTAwOAd1bmlFMDA5B3VuaUUwMTAHdW5pRTAxMQd1bmlFMDEyB3VuaUUwMTMHdW5pRTAxNAd1bmlFMDE1B3VuaUUwMTYHdW5pRTAxNwd1bmlFMDE4B3VuaUUwMTkHdW5pRTAyMAd1bmlFMDIxB3VuaUUwMjIHdW5pRTAyMwd1bmlFMDI0B3VuaUUwMjUHdW5pRTAyNgd1bmlFMDI3B3VuaUUwMjgHdW5pRTAyOQd1bmlFMDMwB3VuaUUwMzEHdW5pRTAzMgd1bmlFMDMzB3VuaUUwMzQHdW5pRTAzNQd1bmlFMDM2B3VuaUUwMzcHdW5pRTAzOAd1bmlFMDM5B3VuaUUwNDAHdW5pRTA0MQd1bmlFMDQyB3VuaUUwNDMHdW5pRTA0NAd1bmlFMDQ1B3VuaUUwNDYHdW5pRTA0Nwd1bmlFMDQ4B3VuaUUwNDkHdW5pRTA1MAd1bmlFMDUxB3VuaUUwNTIHdW5pRTA1Mwd1bmlFMDU0B3VuaUUwNTUHdW5pRTA1Ngd1bmlFMDU3B3VuaUUwNTgHdW5pRTA1OQd1bmlFMDYwB3VuaUUwNjIHdW5pRTA2Mwd1bmlFMDY0B3VuaUUwNjUHdW5pRTA2Ngd1bmlFMDY3B3VuaUUwNjgHdW5pRTA2OQd1bmlFMDcwB3VuaUUwNzEHdW5pRTA3Mgd1bmlFMDczB3VuaUUwNzQHdW5pRTA3NQd1bmlFMDc2B3VuaUUwNzcHdW5pRTA3OAd1bmlFMDc5B3VuaUUwODAHdW5pRTA4MQd1bmlFMDgyB3VuaUUwODMHdW5pRTA4NAd1bmlFMDg1B3VuaUUwODYHdW5pRTA4Nwd1bmlFMDg4B3VuaUUwODkHdW5pRTA5MAd1bmlFMDkxB3VuaUUwOTIHdW5pRTA5Mwd1bmlFMDk0B3VuaUUwOTUHdW5pRTA5Ngd1bmlFMDk3B3VuaUUxMDEHdW5pRTEwMgd1bmlFMTAzB3VuaUUxMDQHdW5pRTEwNQd1bmlFMTA2B3VuaUUxMDcHdW5pRTEwOAd1bmlFMTA5B3VuaUUxMTAHdW5pRTExMQd1bmlFMTEyB3VuaUUxMTMHdW5pRTExNAd1bmlFMTE1B3VuaUUxMTYHdW5pRTExNwd1bmlFMTE4B3VuaUUxMTkHdW5pRTEyMAd1bmlFMTIxB3VuaUUxMjIHdW5pRTEyMwd1bmlFMTI0B3VuaUUxMjUHdW5pRTEyNgd1bmlFMTI3B3VuaUUxMjgHdW5pRTEyOQd1bmlFMTMwB3VuaUUxMzEHdW5pRTEzMgd1bmlFMTMzB3VuaUUxMzQHdW5pRTEzNQd1bmlFMTM2B3VuaUUxMzcHdW5pRTEzOAd1bmlFMTM5B3VuaUUxNDAHdW5pRTE0MQd1bmlFMTQyB3VuaUUxNDMHdW5pRTE0NAd1bmlFMTQ1B3VuaUUxNDYHdW5pRTE0OAd1bmlFMTQ5B3VuaUUxNTAHdW5pRTE1MQd1bmlFMTUyB3VuaUUxNTMHdW5pRTE1NAd1bmlFMTU1B3VuaUUxNTYHdW5pRTE1Nwd1bmlFMTU4B3VuaUUxNTkHdW5pRTE2MAd1bmlFMTYxB3VuaUUxNjIHdW5pRTE2Mwd1bmlFMTY0B3VuaUUxNjUHdW5pRTE2Ngd1bmlFMTY3B3VuaUUxNjgHdW5pRTE2OQd1bmlFMTcwB3VuaUUxNzEHdW5pRTE3Mgd1bmlFMTczB3VuaUUxNzQHdW5pRTE3NQd1bmlFMTc2B3VuaUUxNzcHdW5pRTE3OAd1bmlFMTc5B3VuaUUxODAHdW5pRTE4MQd1bmlFMTgyB3VuaUUxODMHdW5pRTE4NAd1bmlFMTg1B3VuaUUxODYHdW5pRTE4Nwd1bmlFMTg4B3VuaUUxODkHdW5pRTE5MAd1bmlFMTkxB3VuaUUxOTIHdW5pRTE5Mwd1bmlFMTk0B3VuaUUxOTUHdW5pRTE5Nwd1bmlFMTk4B3VuaUUxOTkHdW5pRTIwMAd1bmlFMjAxB3VuaUUyMDIHdW5pRTIwMwd1bmlFMjA0B3VuaUUyMDUHdW5pRTIwNgd1bmlFMjA5B3VuaUUyMTAHdW5pRTIxMQd1bmlFMjEyB3VuaUUyMTMHdW5pRTIxNAd1bmlFMjE1B3VuaUUyMTYHdW5pRTIxOAd1bmlFMjE5B3VuaUUyMjEHdW5pRTIyMwd1bmlFMjI0B3VuaUUyMjUHdW5pRTIyNgd1bmlFMjI3B3VuaUUyMzAHdW5pRTIzMQd1bmlFMjMyB3VuaUUyMzMHdW5pRTIzNAd1bmlFMjM1B3VuaUUyMzYHdW5pRTIzNwd1bmlFMjM4B3VuaUUyMzkHdW5pRTI0MAd1bmlFMjQxB3VuaUUyNDIHdW5pRTI0Mwd1bmlFMjQ0B3VuaUUyNDUHdW5pRTI0Ngd1bmlFMjQ3B3VuaUUyNDgHdW5pRTI0OQd1bmlFMjUwB3VuaUUyNTEHdW5pRTI1Mgd1bmlFMjUzB3VuaUUyNTQHdW5pRTI1NQd1bmlFMjU2B3VuaUUyNTcHdW5pRTI1OAd1bmlFMjU5B3VuaUUyNjAHdW5pRjhGRgZ1MUY1MTEGdTFGNkFBAAAAAAFUUMMXAAA=) format('truetype'),url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiID4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8bWV0YWRhdGE+PC9tZXRhZGF0YT4KPGRlZnM+Cjxmb250IGlkPSJnbHlwaGljb25zX2hhbGZsaW5nc3JlZ3VsYXIiIGhvcml6LWFkdi14PSIxMjAwIiA+Cjxmb250LWZhY2UgdW5pdHMtcGVyLWVtPSIxMjAwIiBhc2NlbnQ9Ijk2MCIgZGVzY2VudD0iLTI0MCIgLz4KPG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjUwMCIgLz4KPGdseXBoIGhvcml6LWFkdi14PSIwIiAvPgo8Z2x5cGggaG9yaXotYWR2LXg9IjQwMCIgLz4KPGdseXBoIHVuaWNvZGU9IiAiIC8+CjxnbHlwaCB1bmljb2RlPSIqIiBkPSJNNjAwIDExMDBxMTUgMCAzNCAtMS41dDMwIC0zLjVsMTEgLTFxMTAgLTIgMTcuNSAtMTAuNXQ3LjUgLTE4LjV2LTIyNGwxNTggMTU4cTcgNyAxOCA4dDE5IC02bDEwNiAtMTA2cTcgLTggNiAtMTl0LTggLTE4bC0xNTggLTE1OGgyMjRxMTAgMCAxOC41IC03LjV0MTAuNSAtMTcuNXE2IC00MSA2IC03NXEwIC0xNSAtMS41IC0zNHQtMy41IC0zMGwtMSAtMTFxLTIgLTEwIC0xMC41IC0xNy41dC0xOC41IC03LjVoLTIyNGwxNTggLTE1OCBxNyAtNyA4IC0xOHQtNiAtMTlsLTEwNiAtMTA2cS04IC03IC0xOSAtNnQtMTggOGwtMTU4IDE1OHYtMjI0cTAgLTEwIC03LjUgLTE4LjV0LTE3LjUgLTEwLjVxLTQxIC02IC03NSAtNnEtMTUgMCAtMzQgMS41dC0zMCAzLjVsLTExIDFxLTEwIDIgLTE3LjUgMTAuNXQtNy41IDE4LjV2MjI0bC0xNTggLTE1OHEtNyAtNyAtMTggLTh0LTE5IDZsLTEwNiAxMDZxLTcgOCAtNiAxOXQ4IDE4bDE1OCAxNThoLTIyNHEtMTAgMCAtMTguNSA3LjUgdC0xMC41IDE3LjVxLTYgNDEgLTYgNzVxMCAxNSAxLjUgMzR0My41IDMwbDEgMTFxMiAxMCAxMC41IDE3LjV0MTguNSA3LjVoMjI0bC0xNTggMTU4cS03IDcgLTggMTh0NiAxOWwxMDYgMTA2cTggNyAxOSA2dDE4IC04bDE1OCAtMTU4djIyNHEwIDEwIDcuNSAxOC41dDE3LjUgMTAuNXE0MSA2IDc1IDZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iKyIgZD0iTTQ1MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMzUwaDM1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zNTB2LTM1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYzNTBoLTM1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNSBoMzUwdjM1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4YTA7IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4YTU7IiBkPSJNODI1IDExMDBoMjUwcTEwIDAgMTIuNSAtNXQtNS41IC0xM2wtMzY0IC0zNjRxLTYgLTYgLTExIC0xOGgyNjhxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMjV2LTEwMGgyNzVxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMjV2LTE3NHEwIC0xMSAtNy41IC0xOC41dC0xOC41IC03LjVoLTE0OHEtMTEgMCAtMTguNSA3LjV0LTcuNSAxOC41djE3NCBoLTI3NXEtMTAgMCAtMTMgNnQzIDE0bDEyMCAxNjBxNiA4IDE4IDE0dDIyIDZoMTI1djEwMGgtMjc1cS0xMCAwIC0xMyA2dDMgMTRsMTIwIDE2MHE2IDggMTggMTR0MjIgNmgxMThxLTUgMTIgLTExIDE4bC0zNjQgMzY0cS04IDggLTUuNSAxM3QxMi41IDVoMjUwcTI1IDAgNDMgLTE4bDE2NCAtMTY0cTggLTggMTggLTh0MTggOGwxNjQgMTY0cTE4IDE4IDQzIDE4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDA7IiBob3Jpei1hZHYteD0iNjUwIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwMTsiIGhvcml6LWFkdi14PSIxMzAwIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwMjsiIGhvcml6LWFkdi14PSI2NTAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMDAzOyIgaG9yaXotYWR2LXg9IjEzMDAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMDA0OyIgaG9yaXotYWR2LXg9IjQzMyIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDU7IiBob3Jpei1hZHYteD0iMzI1IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwNjsiIGhvcml6LWFkdi14PSIyMTYiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMDA3OyIgaG9yaXotYWR2LXg9IjIxNiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDg7IiBob3Jpei1hZHYteD0iMTYyIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwOTsiIGhvcml6LWFkdi14PSIyNjAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMDBhOyIgaG9yaXotYWR2LXg9IjcyIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAyZjsiIGhvcml6LWFkdi14PSIyNjAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMDVmOyIgaG9yaXotYWR2LXg9IjMyNSIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwYWM7IiBkPSJNNzQ0IDExOThxMjQyIDAgMzU0IC0xODlxNjAgLTEwNCA2NiAtMjA5aC0xODFxMCA0NSAtMTcuNSA4Mi41dC00My41IDYxLjV0LTU4IDQwLjV0LTYwLjUgMjR0LTUxLjUgNy41cS0xOSAwIC00MC41IC01LjV0LTQ5LjUgLTIwLjV0LTUzIC0zOHQtNDkgLTYyLjV0LTM5IC04OS41aDM3OWwtMTAwIC0xMDBoLTMwMHEtNiAtNTAgLTYgLTEwMGg0MDZsLTEwMCAtMTAwaC0zMDBxOSAtNzQgMzMgLTEzMnQ1Mi41IC05MXQ2MS41IC01NC41dDU5IC0yOSB0NDcgLTcuNXEyMiAwIDUwLjUgNy41dDYwLjUgMjQuNXQ1OCA0MXQ0My41IDYxdDE3LjUgODBoMTc0cS0zMCAtMTcxIC0xMjggLTI3OHEtMTA3IC0xMTcgLTI3NCAtMTE3cS0yMDYgMCAtMzI0IDE1OHEtMzYgNDggLTY5IDEzM3QtNDUgMjA0aC0yMTdsMTAwIDEwMGgxMTJxMSA0NyA2IDEwMGgtMjE4bDEwMCAxMDBoMTM0cTIwIDg3IDUxIDE1My41dDYyIDEwMy41cTExNyAxNDEgMjk3IDE0MXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMGJkOyIgZD0iTTQyOCAxMjAwaDM1MHE2NyAwIDEyMCAtMTN0ODYgLTMxdDU3IC00OS41dDM1IC01Ni41dDE3IC02NC41dDYuNSAtNjAuNXQwLjUgLTU3di0xNi41di0xNi41cTAgLTM2IC0wLjUgLTU3dC02LjUgLTYxdC0xNyAtNjV0LTM1IC01N3QtNTcgLTUwLjV0LTg2IC0zMS41dC0xMjAgLTEzaC0xNzhsLTIgLTEwMGgyODhxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMzh2LTE3NXEwIC0xMSAtNS41IC0xOCB0LTE1LjUgLTdoLTE0OXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE3NWgtMjY3cS0xMCAwIC0xMyA2dDMgMTRsMTIwIDE2MHE2IDggMTggMTR0MjIgNmgxMTd2MTAwaC0yNjdxLTEwIDAgLTEzIDZ0MyAxNGwxMjAgMTYwcTYgOCAxOCAxNHQyMiA2aDExN3Y0NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNjAwIDEwMDB2LTMwMGgyMDNxNjQgMCA4Ni41IDMzdDIyLjUgMTE5cTAgODQgLTIyLjUgMTE2dC04Ni41IDMyaC0yMDN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjIxMjsiIGQ9Ik0yNTAgNzAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjMxYjsiIGQ9Ik0xMDAwIDEyMDB2LTE1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTEwMHEwIC05MSAtNDkuNSAtMTY1LjV0LTEzMC41IC0xMDkuNXE4MSAtMzUgMTMwLjUgLTEwOS41dDQ5LjUgLTE2NS41di0xNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTE1MGgtODAwdjE1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2MTUwcTAgOTEgNDkuNSAxNjUuNXQxMzAuNSAxMDkuNXEtODEgMzUgLTEzMC41IDEwOS41IHQtNDkuNSAxNjUuNXYxMDBoLTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxNTBoODAwek00MDAgMTAwMHYtMTAwcTAgLTYwIDMyLjUgLTEwOS41dDg3LjUgLTczLjVxMjggLTEyIDQ0IC0zN3QxNiAtNTV0LTE2IC01NXQtNDQgLTM3cS01NSAtMjQgLTg3LjUgLTczLjV0LTMyLjUgLTEwOS41di0xNTBoNDAwdjE1MHEwIDYwIC0zMi41IDEwOS41dC04Ny41IDczLjVxLTI4IDEyIC00NCAzN3QtMTYgNTV0MTYgNTV0NDQgMzcgcTU1IDI0IDg3LjUgNzMuNXQzMi41IDEwOS41djEwMGgtNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDI1ZmM7IiBob3Jpei1hZHYteD0iNTAwIiBkPSJNMCAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDI2MDE7IiBkPSJNNTAzIDEwODlxMTEwIDAgMjAwLjUgLTU5LjV0MTM0LjUgLTE1Ni41cTQ0IDE0IDkwIDE0cTEyMCAwIDIwNSAtODYuNXQ4NSAtMjA2LjVxMCAtMTIxIC04NSAtMjA3LjV0LTIwNSAtODYuNWgtNzUwcS03OSAwIC0xMzUuNSA1N3QtNTYuNSAxMzdxMCA2OSA0Mi41IDEyMi41dDEwOC41IDY3LjVxLTIgMTIgLTIgMzdxMCAxNTMgMTA4IDI2MC41dDI2MCAxMDcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyNmZhOyIgZD0iTTc3NCAxMTkzLjVxMTYgLTkuNSAyMC41IC0yN3QtNS41IC0zMy41bC0xMzYgLTE4N2w0NjcgLTc0NmgzMHEyMCAwIDM1IC0xOC41dDE1IC0zOS41di00MmgtMTIwMHY0MnEwIDIxIDE1IDM5LjV0MzUgMTguNWgzMGw0NjggNzQ2bC0xMzUgMTgzcS0xMCAxNiAtNS41IDM0dDIwLjUgMjh0MzQgNS41dDI4IC0yMC41bDExMSAtMTQ4bDExMiAxNTBxOSAxNiAyNyAyMC41dDM0IC01ek02MDAgMjAwaDM3N2wtMTgyIDExMmwtMTk1IDUzNHYtNjQ2eiAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyNzA5OyIgZD0iTTI1IDExMDBoMTE1MHExMCAwIDEyLjUgLTV0LTUuNSAtMTNsLTU2NCAtNTY3cS04IC04IC0xOCAtOHQtMTggOGwtNTY0IDU2N3EtOCA4IC01LjUgMTN0MTIuNSA1ek0xOCA4ODJsMjY0IC0yNjRxOCAtOCA4IC0xOHQtOCAtMThsLTI2NCAtMjY0cS04IC04IC0xMyAtNS41dC01IDEyLjV2NTUwcTAgMTAgNSAxMi41dDEzIC01LjV6TTkxOCA2MThsMjY0IDI2NHE4IDggMTMgNS41dDUgLTEyLjV2LTU1MHEwIC0xMCAtNSAtMTIuNXQtMTMgNS41IGwtMjY0IDI2NHEtOCA4IC04IDE4dDggMTh6TTgxOCA0ODJsMzY0IC0zNjRxOCAtOCA1LjUgLTEzdC0xMi41IC01aC0xMTUwcS0xMCAwIC0xMi41IDV0NS41IDEzbDM2NCAzNjRxOCA4IDE4IDh0MTggLThsMTY0IC0xNjRxOCAtOCAxOCAtOHQxOCA4bDE2NCAxNjRxOCA4IDE4IDh0MTggLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjcwZjsiIGQ9Ik0xMDExIDEyMTBxMTkgMCAzMyAtMTNsMTUzIC0xNTNxMTMgLTE0IDEzIC0zM3QtMTMgLTMzbC05OSAtOTJsLTIxNCAyMTRsOTUgOTZxMTMgMTQgMzIgMTR6TTEwMTMgODAwbC02MTUgLTYxNGwtMjE0IDIxNGw2MTQgNjE0ek0zMTcgOTZsLTMzMyAtMTEybDExMCAzMzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMTsiIGQ9Ik03MDAgNjUwdi01NTBoMjUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtODAwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgyNTB2NTUwbC01MDAgNTUwaDEyMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMjsiIGQ9Ik0zNjggMTAxN2w2NDUgMTYzcTM5IDE1IDYzIDB0MjQgLTQ5di04MzFxMCAtNTUgLTQxLjUgLTk1LjV0LTExMS41IC02My41cS03OSAtMjUgLTE0NyAtNC41dC04NiA3NXQyNS41IDExMS41dDEyMi41IDgycTcyIDI0IDEzOCA4djUyMWwtNjAwIC0xNTV2LTYwNnEwIC00MiAtNDQgLTkwdC0xMDkgLTY5cS03OSAtMjYgLTE0NyAtNS41dC04NiA3NS41dDI1LjUgMTExLjV0MTIyLjUgODIuNXE3MiAyNCAxMzggN3Y2MzlxMCAzOCAxNC41IDU5IHQ1My41IDM0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDM7IiBkPSJNNTAwIDExOTFxMTAwIDAgMTkxIC0zOXQxNTYuNSAtMTA0LjV0MTA0LjUgLTE1Ni41dDM5IC0xOTFsLTEgLTJsMSAtNXEwIC0xNDEgLTc4IC0yNjJsMjc1IC0yNzRxMjMgLTI2IDIyLjUgLTQ0LjV0LTIyLjUgLTQyLjVsLTU5IC01OHEtMjYgLTIwIC00Ni41IC0yMHQtMzkuNSAyMGwtMjc1IDI3NHEtMTE5IC03NyAtMjYxIC03N2wtNSAxbC0yIC0xcS0xMDAgMCAtMTkxIDM5dC0xNTYuNSAxMDQuNXQtMTA0LjUgMTU2LjV0LTM5IDE5MSB0MzkgMTkxdDEwNC41IDE1Ni41dDE1Ni41IDEwNC41dDE5MSAzOXpNNTAwIDEwMjJxLTg4IDAgLTE2MiAtNDN0LTExNyAtMTE3dC00MyAtMTYydDQzIC0xNjJ0MTE3IC0xMTd0MTYyIC00M3QxNjIgNDN0MTE3IDExN3Q0MyAxNjJ0LTQzIDE2MnQtMTE3IDExN3QtMTYyIDQzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDU7IiBkPSJNNjQ5IDk0OXE0OCA2OCAxMDkuNSAxMDR0MTIxLjUgMzguNXQxMTguNSAtMjB0MTAyLjUgLTY0dDcxIC0xMDAuNXQyNyAtMTIzcTAgLTU3IC0zMy41IC0xMTcuNXQtOTQgLTEyNC41dC0xMjYuNSAtMTI3LjV0LTE1MCAtMTUyLjV0LTE0NiAtMTc0cS02MiA4NSAtMTQ1LjUgMTc0dC0xNTAgMTUyLjV0LTEyNi41IDEyNy41dC05My41IDEyNC41dC0zMy41IDExNy41cTAgNjQgMjggMTIzdDczIDEwMC41dDEwNCA2NHQxMTkgMjAgdDEyMC41IC0zOC41dDEwNC41IC0xMDR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwNjsiIGQ9Ik00MDcgODAwbDEzMSAzNTNxNyAxOSAxNy41IDE5dDE3LjUgLTE5bDEyOSAtMzUzaDQyMXEyMSAwIDI0IC04LjV0LTE0IC0yMC41bC0zNDIgLTI0OWwxMzAgLTQwMXE3IC0yMCAtMC41IC0yNS41dC0yNC41IDYuNWwtMzQzIDI0NmwtMzQyIC0yNDdxLTE3IC0xMiAtMjQuNSAtNi41dC0wLjUgMjUuNWwxMzAgNDAwbC0zNDcgMjUxcS0xNyAxMiAtMTQgMjAuNXQyMyA4LjVoNDI5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDc7IiBkPSJNNDA3IDgwMGwxMzEgMzUzcTcgMTkgMTcuNSAxOXQxNy41IC0xOWwxMjkgLTM1M2g0MjFxMjEgMCAyNCAtOC41dC0xNCAtMjAuNWwtMzQyIC0yNDlsMTMwIC00MDFxNyAtMjAgLTAuNSAtMjUuNXQtMjQuNSA2LjVsLTM0MyAyNDZsLTM0MiAtMjQ3cS0xNyAtMTIgLTI0LjUgLTYuNXQtMC41IDI1LjVsMTMwIDQwMGwtMzQ3IDI1MXEtMTcgMTIgLTE0IDIwLjV0MjMgOC41aDQyOXpNNDc3IDcwMGgtMjQwbDE5NyAtMTQybC03NCAtMjI2IGwxOTMgMTM5bDE5NSAtMTQwbC03NCAyMjlsMTkyIDE0MGgtMjM0bC03OCAyMTF6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwODsiIGQ9Ik02MDAgMTIwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTI1MHEwIC00NiAtMzEgLTk4dC02OSAtNTJ2LTc1cTAgLTEwIDYgLTIxLjV0MTUgLTE3LjVsMzU4IC0yMzBxOSAtNSAxNSAtMTYuNXQ2IC0yMS41di05M3EwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTExNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5M3EwIDEwIDYgMjEuNXQxNSAxNi41bDM1OCAyMzBxOSA2IDE1IDE3LjV0NiAyMS41djc1cS0zOCAwIC02OSA1MiB0LTMxIDk4djI1MHEwIDEyNCA4OCAyMTJ0MjEyIDg4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDk7IiBkPSJNMjUgMTEwMGgxMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTA1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTExNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxMDUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEwMCAxMDAwdi0xMDBoMTAwdjEwMGgtMTAwek04NzUgMTAwMGgtNTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMzUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoNTUwIHExMCAwIDE3LjUgNy41dDcuNSAxNy41djM1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6TTEwMDAgMTAwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwIDgwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwMCA4MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMDAgNjAwdi0xMDBoMTAwdjEwMGgtMTAwek04NzUgNTAwaC01NTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di0zNTBxMCAtMTAgNy41IC0xNy41IHQxNy41IC03LjVoNTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MzUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXpNMTAwIDQwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCAyMDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTA7IiBkPSJNNTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek02NTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCA1MDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMTsiIGQ9Ik01MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTEwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNODUwIDcwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAzMDBoMjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTg1MCAzMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41IHQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMjsiIGQ9Ik01MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAxMTAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC03MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNDUwIDcwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAzMDBoNzAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC03MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMzsiIGQ9Ik00NjUgNDc3bDU3MSA1NzFxOCA4IDE4IDh0MTcgLThsMTc3IC0xNzdxOCAtNyA4IC0xN3QtOCAtMThsLTc4MyAtNzg0cS03IC04IC0xNy41IC04dC0xNy41IDhsLTM4NCAzODRxLTggOCAtOCAxOHQ4IDE3bDE3NyAxNzdxNyA4IDE3IDh0MTggLThsMTcxIC0xNzFxNyAtNyAxOCAtN3QxOCA3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTQ7IiBkPSJNOTA0IDEwODNsMTc4IC0xNzlxOCAtOCA4IC0xOC41dC04IC0xNy41bC0yNjcgLTI2OGwyNjcgLTI2OHE4IC03IDggLTE3LjV0LTggLTE4LjVsLTE3OCAtMTc4cS04IC04IC0xOC41IC04dC0xNy41IDhsLTI2OCAyNjdsLTI2OCAtMjY3cS03IC04IC0xNy41IC04dC0xOC41IDhsLTE3OCAxNzhxLTggOCAtOCAxOC41dDggMTcuNWwyNjcgMjY4bC0yNjcgMjY4cS04IDcgLTggMTcuNXQ4IDE4LjVsMTc4IDE3OHE4IDggMTguNSA4dDE3LjUgLTggbDI2OCAtMjY3bDI2OCAyNjhxNyA3IDE3LjUgN3QxOC41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTU7IiBkPSJNNTA3IDExNzdxOTggMCAxODcuNSAtMzguNXQxNTQuNSAtMTAzLjV0MTAzLjUgLTE1NC41dDM4LjUgLTE4Ny41cTAgLTE0MSAtNzggLTI2MmwzMDAgLTI5OXE4IC04IDggLTE4LjV0LTggLTE4LjVsLTEwOSAtMTA4cS03IC04IC0xNy41IC04dC0xOC41IDhsLTMwMCAyOTlxLTExOSAtNzcgLTI2MSAtNzdxLTk4IDAgLTE4OCAzOC41dC0xNTQuNSAxMDN0LTEwMyAxNTQuNXQtMzguNSAxODh0MzguNSAxODcuNXQxMDMgMTU0LjUgdDE1NC41IDEwMy41dDE4OCAzOC41ek01MDYuNSAxMDIzcS04OS41IDAgLTE2NS41IC00NHQtMTIwIC0xMjAuNXQtNDQgLTE2NnQ0NCAtMTY1LjV0MTIwIC0xMjB0MTY1LjUgLTQ0dDE2NiA0NHQxMjAuNSAxMjB0NDQgMTY1LjV0LTQ0IDE2NnQtMTIwLjUgMTIwLjV0LTE2NiA0NHpNNDI1IDkwMGgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di03NWg3NXExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41IHQtMTcuNSAtNy41aC03NXYtNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY3NWgtNzVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWg3NXY3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTY7IiBkPSJNNTA3IDExNzdxOTggMCAxODcuNSAtMzguNXQxNTQuNSAtMTAzLjV0MTAzLjUgLTE1NC41dDM4LjUgLTE4Ny41cTAgLTE0MSAtNzggLTI2MmwzMDAgLTI5OXE4IC04IDggLTE4LjV0LTggLTE4LjVsLTEwOSAtMTA4cS03IC04IC0xNy41IC04dC0xOC41IDhsLTMwMCAyOTlxLTExOSAtNzcgLTI2MSAtNzdxLTk4IDAgLTE4OCAzOC41dC0xNTQuNSAxMDN0LTEwMyAxNTQuNXQtMzguNSAxODh0MzguNSAxODcuNXQxMDMgMTU0LjUgdDE1NC41IDEwMy41dDE4OCAzOC41ek01MDYuNSAxMDIzcS04OS41IDAgLTE2NS41IC00NHQtMTIwIC0xMjAuNXQtNDQgLTE2NnQ0NCAtMTY1LjV0MTIwIC0xMjB0MTY1LjUgLTQ0dDE2NiA0NHQxMjAuNSAxMjB0NDQgMTY1LjV0LTQ0IDE2NnQtMTIwLjUgMTIwLjV0LTE2NiA0NHpNMzI1IDgwMGgzNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0zNTBxLTEwIDAgLTE3LjUgNy41IHQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxNzsiIGQ9Ik01NTAgMTIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04MDAgOTc1djE2NnExNjcgLTYyIDI3MiAtMjA5LjV0MTA1IC0zMzEuNXEwIC0xMTcgLTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNSB0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHEwIDE4NCAxMDUgMzMxLjV0MjcyIDIwOS41di0xNjZxLTEwMyAtNTUgLTE2NSAtMTU1dC02MiAtMjIwcTAgLTExNiA1NyAtMjE0LjV0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXEwIDEyMCAtNjIgMjIwdC0xNjUgMTU1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTg7IiBkPSJNMTAyNSAxMjAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTExNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxMTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTcyNSA4MDBoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NzUwIHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek00MjUgNTAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTQ1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djQ1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek0xMjUgMzAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTI1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41IHYyNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDE5OyIgZD0iTTYwMCAxMTc0cTMzIDAgNzQgLTVsMzggLTE1Mmw1IC0xcTQ5IC0xNCA5NCAtMzlsNSAtMmwxMzQgODBxNjEgLTQ4IDEwNCAtMTA1bC04MCAtMTM0bDMgLTVxMjUgLTQ0IDM5IC05M2wxIC02bDE1MiAtMzhxNSAtNDMgNSAtNzNxMCAtMzQgLTUgLTc0bC0xNTIgLTM4bC0xIC02cS0xNSAtNDkgLTM5IC05M2wtMyAtNWw4MCAtMTM0cS00OCAtNjEgLTEwNCAtMTA1bC0xMzQgODFsLTUgLTNxLTQ0IC0yNSAtOTQgLTM5bC01IC0ybC0zOCAtMTUxIHEtNDMgLTUgLTc0IC01cS0zMyAwIC03NCA1bC0zOCAxNTFsLTUgMnEtNDkgMTQgLTk0IDM5bC01IDNsLTEzNCAtODFxLTYwIDQ4IC0xMDQgMTA1bDgwIDEzNGwtMyA1cS0yNSA0NSAtMzggOTNsLTIgNmwtMTUxIDM4cS02IDQyIC02IDc0cTAgMzMgNiA3M2wxNTEgMzhsMiA2cTEzIDQ4IDM4IDkzbDMgNWwtODAgMTM0cTQ3IDYxIDEwNSAxMDVsMTMzIC04MGw1IDJxNDUgMjUgOTQgMzlsNSAxbDM4IDE1MnE0MyA1IDc0IDV6TTYwMCA4MTUgcS04OSAwIC0xNTIgLTYzdC02MyAtMTUxLjV0NjMgLTE1MS41dDE1MiAtNjN0MTUyIDYzdDYzIDE1MS41dC02MyAxNTEuNXQtMTUyIDYzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjA7IiBkPSJNNTAwIDEzMDBoMzAwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41di0xMDBoMjc1cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzVoLTExMDB2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNzV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNNTAwIDEyMDB2LTEwMGgzMDB2MTAwaC0zMDB6TTExMDAgOTAwdi04MDBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTcwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjUgdjgwMGg5MDB6TTMwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTUwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTcwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTkwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyMTsiIGQ9Ik0xOCA2MThsNjIwIDYwOHE4IDcgMTguNSA3dDE3LjUgLTdsNjA4IC02MDhxOCAtOCA1LjUgLTEzdC0xMi41IC01aC0xNzV2LTU3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM3NWgtMzAwdi0zNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1NzVoLTE3NXEtMTAgMCAtMTIuNSA1dDUuNSAxM3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDIyOyIgZD0iTTYwMCAxMjAwdi00MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDMwMHYtNjUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djExMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ1MHpNMTAwMCA4MDBoLTI1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjM7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTYwMCAxMDI3cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjUgdDE1NS41IC0xNTUuNXQyMTQuNSAtNTd0MjE0LjUgNTd0MTU1LjUgMTU1LjV0NTcgMjE0LjV0LTU3IDIxNC41dC0xNTUuNSAxNTUuNXQtMjE0LjUgNTd6TTUyNSA5MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0yNzVoMTc1cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI0OyIgZD0iTTEzMDAgMGgtNTM4bC00MSA0MDBoLTI0MmwtNDEgLTQwMGgtNTM4bDQzMSAxMjAwaDIwOWwtMjEgLTMwMGgxNjJsLTIwIDMwMGgyMDh6TTUxNSA4MDBsLTI3IC0zMDBoMjI0bC0yNyAzMDBoLTE3MHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI1OyIgZD0iTTU1MCAxMjAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDUwaDE5MXEyMCAwIDI1LjUgLTExLjV0LTcuNSAtMjcuNWwtMzI3IC00MDBxLTEzIC0xNiAtMzIgLTE2dC0zMiAxNmwtMzI3IDQwMHEtMTMgMTYgLTcuNSAyNy41dDI1LjUgMTEuNWgxOTF2NDUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTEyNSA0MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0zNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41IGgtMTA1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTc1aDkwMHYxNzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI2OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek01MjUgOTAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTI3NWgxMzdxMjEgMCAyNiAtMTEuNXQtOCAtMjcuNWwtMjIzIC0yNzVxLTEzIC0xNiAtMzIgLTE2dC0zMiAxNmwtMjIzIDI3NXEtMTMgMTYgLTggMjcuNXQyNiAxMS41aDEzN3YyNzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyNzsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNjAwIDEwMjdxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41dDU3IC0yMTQuNSB0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXQtNTcgMjE0LjV0LTE1NS41IDE1NS41dC0yMTQuNSA1N3pNNjMyIDkxNGwyMjMgLTI3NXExMyAtMTYgOCAtMjcuNXQtMjYgLTExLjVoLTEzN3YtMjc1cTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2Mjc1aC0xMzdxLTIxIDAgLTI2IDExLjV0OCAyNy41bDIyMyAyNzVxMTMgMTYgMzIgMTYgdDMyIC0xNnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI4OyIgZD0iTTIyNSAxMjAwaDc1MHExMCAwIDE5LjUgLTd0MTIuNSAtMTdsMTg2IC02NTJxNyAtMjQgNyAtNDl2LTQyNXEwIC0xMiAtNCAtMjd0LTkgLTE3cS0xMiAtNiAtMzcgLTZoLTExMDBxLTEyIDAgLTI3IDR0LTE3IDhxLTYgMTMgLTYgMzhsMSA0MjVxMCAyNSA3IDQ5bDE4NSA2NTJxMyAxMCAxMi41IDE3dDE5LjUgN3pNODc4IDEwMDBoLTU1NnEtMTAgMCAtMTkgLTd0LTExIC0xOGwtODcgLTQ1MHEtMiAtMTEgNCAtMTh0MTYgLTdoMTUwIHExMCAwIDE5LjUgLTd0MTEuNSAtMTdsMzggLTE1MnEyIC0xMCAxMS41IC0xN3QxOS41IC03aDI1MHExMCAwIDE5LjUgN3QxMS41IDE3bDM4IDE1MnEyIDEwIDExLjUgMTd0MTkuNSA3aDE1MHExMCAwIDE2IDd0NCAxOGwtODcgNDUwcS0yIDExIC0xMSAxOHQtMTkgN3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI5OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek01NDAgODIwbDI1MyAtMTkwcTE3IC0xMiAxNyAtMzB0LTE3IC0zMGwtMjUzIC0xOTBxLTE2IC0xMiAtMjggLTYuNXQtMTIgMjYuNXY0MDBxMCAyMSAxMiAyNi41dDI4IC02LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzMDsiIGQ9Ik05NDcgMTA2MGwxMzUgMTM1cTcgNyAxMi41IDV0NS41IC0xM3YtMzYycTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMzYycS0xMSAwIC0xMyA1LjV0NSAxMi41bDEzMyAxMzNxLTEwOSA3NiAtMjM4IDc2cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjV0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNWgxNTBxMCAtMTE3IC00NS41IC0yMjQgdC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXExOTIgMCAzNDcgLTExN3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDMxOyIgZD0iTTk0NyAxMDYwbDEzNSAxMzVxNyA3IDEyLjUgNXQ1LjUgLTEzdi0zNjFxMCAtMTEgLTcuNSAtMTguNXQtMTguNSAtNy41aC0zNjFxLTExIDAgLTEzIDUuNXQ1IDEyLjVsMTM0IDEzNHEtMTEwIDc1IC0yMzkgNzVxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41aC0xNTBxMCAxMTcgNDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXExOTIgMCAzNDcgLTExN3pNMTAyNyA2MDBoMTUwIHEwIC0xMTcgLTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41cS0xOTIgMCAtMzQ4IDExOGwtMTM0IC0xMzRxLTcgLTggLTEyLjUgLTUuNXQtNS41IDEyLjV2MzYwcTAgMTEgNy41IDE4LjV0MTguNSA3LjVoMzYwcTEwIDAgMTIuNSAtNS41dC01LjUgLTEyLjVsLTEzMyAtMTMzcTExMCAtNzYgMjQwIC03NnExMTYgMCAyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDMyOyIgZD0iTTEyNSAxMjAwaDEwNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTA1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djExNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMTA3NSAxMDAwaC04NTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di04NTBxMCAtMTAgNy41IC0xNy41dDE3LjUgLTcuNWg4NTBxMTAgMCAxNy41IDcuNXQ3LjUgMTcuNXY4NTAgcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXpNMzI1IDkwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01MjUgOTAwaDQ1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNDUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTAgcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTMyNSA3MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNTI1IDcwMGg0NTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTQ1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwIHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek0zMjUgNTAwaDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTUyNSA1MDBoNDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC00NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMzI1IDMwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01MjUgMzAwaDQ1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNDUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTAgcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzMzsiIGQ9Ik05MDAgODAwdjIwMHEwIDgzIC01OC41IDE0MS41dC0xNDEuNSA1OC41aC0zMDBxLTgyIDAgLTE0MSAtNTl0LTU5IC0xNDF2LTIwMGgtMTAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di02MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDkwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2NjAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41aC0xMDB6TTQwMCA4MDB2MTUwcTAgMjEgMTUgMzUuNXQzNSAxNC41aDIwMCBxMjAgMCAzNSAtMTQuNXQxNSAtMzUuNXYtMTUwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzNDsiIGQ9Ik0xMjUgMTEwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTEwNzVoLTEwMHYxMDc1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEwNzUgMTA1MnE0IDAgOSAtMnExNiAtNiAxNiAtMjN2LTQyMXEwIC02IC0zIC0xMnEtMzMgLTU5IC02Ni41IC05OXQtNjUuNSAtNTh0LTU2LjUgLTI0LjV0LTUyLjUgLTYuNXEtMjYgMCAtNTcuNSA2LjV0LTUyLjUgMTMuNXQtNjAgMjFxLTQxIDE1IC02MyAyMi41dC01Ny41IDE1dC02NS41IDcuNSBxLTg1IDAgLTE2MCAtNTdxLTcgLTUgLTE1IC01cS02IDAgLTExIDNxLTE0IDcgLTE0IDIydjQzOHEyMiA1NSA4MiA5OC41dDExOSA0Ni41cTIzIDIgNDMgMC41dDQzIC03dDMyLjUgLTguNXQzOCAtMTN0MzIuNSAtMTFxNDEgLTE0IDYzLjUgLTIxdDU3IC0xNHQ2My41IC03cTEwMyAwIDE4MyA4N3E3IDggMTggOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDM1OyIgZD0iTTYwMCAxMTc1cTExNiAwIDIyNyAtNDkuNXQxOTIuNSAtMTMxdDEzMSAtMTkyLjV0NDkuNSAtMjI3di0zMDBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djMwMHEwIDEyNyAtNzAuNSAyMzEuNXQtMTg0LjUgMTYxLjV0LTI0NSA1N3QtMjQ1IC01N3QtMTg0LjUgLTE2MS41dC03MC41IC0yMzEuNXYtMzAwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTAgcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MzAwcTAgMTE2IDQ5LjUgMjI3dDEzMSAxOTIuNXQxOTIuNSAxMzF0MjI3IDQ5LjV6TTIyMCA1MDBoMTYwcTggMCAxNCAtNnQ2IC0xNHYtNDYwcTAgLTggLTYgLTE0dC0xNCAtNmgtMTYwcS04IDAgLTE0IDZ0LTYgMTR2NDYwcTAgOCA2IDE0dDE0IDZ6TTgyMCA1MDBoMTYwcTggMCAxNCAtNnQ2IC0xNHYtNDYwcTAgLTggLTYgLTE0dC0xNCAtNmgtMTYwcS04IDAgLTE0IDZ0LTYgMTR2NDYwIHEwIDggNiAxNHQxNCA2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMzY7IiBkPSJNMzIxIDgxNGwyNTggMTcycTkgNiAxNSAyLjV0NiAtMTMuNXYtNzUwcTAgLTEwIC02IC0xMy41dC0xNSAyLjVsLTI1OCAxNzJxLTIxIDE0IC00NiAxNGgtMjUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MzUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMjUwcTI1IDAgNDYgMTR6TTkwMCA2NjhsMTIwIDEyMHE3IDcgMTcgN3QxNyAtN2wzNCAtMzRxNyAtNyA3IC0xN3QtNyAtMTdsLTEyMCAtMTIwbDEyMCAtMTIwcTcgLTcgNyAtMTcgdC03IC0xN2wtMzQgLTM0cS03IC03IC0xNyAtN3QtMTcgN2wtMTIwIDExOWwtMTIwIC0xMTlxLTcgLTcgLTE3IC03dC0xNyA3bC0zNCAzNHEtNyA3IC03IDE3dDcgMTdsMTE5IDEyMGwtMTE5IDEyMHEtNyA3IC03IDE3dDcgMTdsMzQgMzRxNyA4IDE3IDh0MTcgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzNzsiIGQ9Ik0zMjEgODE0bDI1OCAxNzJxOSA2IDE1IDIuNXQ2IC0xMy41di03NTBxMCAtMTAgLTYgLTEzLjV0LTE1IDIuNWwtMjU4IDE3MnEtMjEgMTQgLTQ2IDE0aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNTBxMjUgMCA0NiAxNHpNNzY2IDkwMGg0cTEwIC0xIDE2IC0xMHE5NiAtMTI5IDk2IC0yOTBxMCAtMTU0IC05MCAtMjgxcS02IC05IC0xNyAtMTBsLTMgLTFxLTkgMCAtMTYgNiBsLTI5IDIzcS03IDcgLTguNSAxNi41dDQuNSAxNy41cTcyIDEwMyA3MiAyMjlxMCAxMzIgLTc4IDIzOHEtNiA4IC00LjUgMTh0OS41IDE3bDI5IDIycTcgNSAxNSA1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMzg7IiBkPSJNOTY3IDEwMDRoM3ExMSAtMSAxNyAtMTBxMTM1IC0xNzkgMTM1IC0zOTZxMCAtMTA1IC0zNCAtMjA2LjV0LTk4IC0xODUuNXEtNyAtOSAtMTcgLTEwaC0zcS05IDAgLTE2IDZsLTQyIDM0cS04IDYgLTkgMTZ0NSAxOHExMTEgMTUwIDExMSAzMjhxMCA5MCAtMjkuNSAxNzZ0LTg0LjUgMTU3cS02IDkgLTUgMTl0MTAgMTZsNDIgMzNxNyA1IDE1IDV6TTMyMSA4MTRsMjU4IDE3MnE5IDYgMTUgMi41dDYgLTEzLjV2LTc1MHEwIC0xMCAtNiAtMTMuNSB0LTE1IDIuNWwtMjU4IDE3MnEtMjEgMTQgLTQ2IDE0aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNTBxMjUgMCA0NiAxNHpNNzY2IDkwMGg0cTEwIC0xIDE2IC0xMHE5NiAtMTI5IDk2IC0yOTBxMCAtMTU0IC05MCAtMjgxcS02IC05IC0xNyAtMTBsLTMgLTFxLTkgMCAtMTYgNmwtMjkgMjNxLTcgNyAtOC41IDE2LjV0NC41IDE3LjVxNzIgMTAzIDcyIDIyOXEwIDEzMiAtNzggMjM4IHEtNiA4IC00LjUgMTguNXQ5LjUgMTYuNWwyOSAyMnE3IDUgMTUgNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDM5OyIgZD0iTTUwMCA5MDBoMTAwdi0xMDBoLTEwMHYtMTAwaC00MDB2LTEwMGgtMTAwdjYwMGg1MDB2LTMwMHpNMTIwMCA3MDBoLTIwMHYtMTAwaDIwMHYtMjAwaC0zMDB2MzAwaC0yMDB2MzAwaC0xMDB2MjAwaDYwMHYtNTAwek0xMDAgMTEwMHYtMzAwaDMwMHYzMDBoLTMwMHpNODAwIDExMDB2LTMwMGgzMDB2MzAwaC0zMDB6TTMwMCA5MDBoLTEwMHYxMDBoMTAwdi0xMDB6TTEwMDAgOTAwaC0xMDB2MTAwaDEwMHYtMTAwek0zMDAgNTAwaDIwMHYtNTAwIGgtNTAwdjUwMGgyMDB2MTAwaDEwMHYtMTAwek04MDAgMzAwaDIwMHYtMTAwaC0xMDB2LTEwMGgtMjAwdjEwMGgtMTAwdjEwMGgxMDB2MjAwaC0yMDB2MTAwaDMwMHYtMzAwek0xMDAgNDAwdi0zMDBoMzAwdjMwMGgtMzAwek0zMDAgMjAwaC0xMDB2MTAwaDEwMHYtMTAwek0xMjAwIDIwMGgtMTAwdjEwMGgxMDB2LTEwMHpNNzAwIDBoLTEwMHYxMDBoMTAwdi0xMDB6TTEyMDAgMGgtMzAwdjEwMGgzMDB2LTEwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDQwOyIgZD0iTTEwMCAyMDBoLTEwMHYxMDAwaDEwMHYtMTAwMHpNMzAwIDIwMGgtMTAwdjEwMDBoMTAwdi0xMDAwek03MDAgMjAwaC0yMDB2MTAwMGgyMDB2LTEwMDB6TTkwMCAyMDBoLTEwMHYxMDAwaDEwMHYtMTAwMHpNMTIwMCAyMDBoLTIwMHYxMDAwaDIwMHYtMTAwMHpNNDAwIDBoLTMwMHYxMDBoMzAwdi0xMDB6TTYwMCAwaC0xMDB2OTFoMTAwdi05MXpNODAwIDBoLTEwMHY5MWgxMDB2LTkxek0xMTAwIDBoLTIwMHY5MWgyMDB2LTkxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNDE7IiBkPSJNNTAwIDEyMDBsNjgyIC02ODJxOCAtOCA4IC0xOHQtOCAtMThsLTQ2NCAtNDY0cS04IC04IC0xOCAtOHQtMTggOGwtNjgyIDY4MmwxIDQ3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDQ3NHpNMzE5LjUgMTAyNC41cS0yOS41IDI5LjUgLTcxIDI5LjV0LTcxIC0yOS41dC0yOS41IC03MS41dDI5LjUgLTcxLjV0NzEgLTI5LjV0NzEgMjkuNXQyOS41IDcxLjV0LTI5LjUgNzEuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDQyOyIgZD0iTTUwMCAxMjAwbDY4MiAtNjgycTggLTggOCAtMTh0LTggLTE4bC00NjQgLTQ2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTY4MiA2ODJsMSA0NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWg0NzR6TTgwMCAxMjAwbDY4MiAtNjgycTggLTggOCAtMTh0LTggLTE4bC00NjQgLTQ2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTU2IDU2bDQyNCA0MjZsLTcwMCA3MDBoMTUwek0zMTkuNSAxMDI0LjVxLTI5LjUgMjkuNSAtNzEgMjkuNXQtNzEgLTI5LjUgdC0yOS41IC03MS41dDI5LjUgLTcxLjV0NzEgLTI5LjV0NzEgMjkuNXQyOS41IDcxLjV0LTI5LjUgNzEuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDQzOyIgZD0iTTMwMCAxMjAwaDgyNXE3NSAwIDc1IC03NXYtOTAwcTAgLTI1IC0xOCAtNDNsLTY0IC02NHEtOCAtOCAtMTMgLTUuNXQtNSAxMi41djk1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjVoLTcwMHEtMjUgMCAtNDMgLTE4bC02NCAtNjRxLTggLTggLTUuNSAtMTN0MTIuNSAtNWg3MDBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di05NTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC04NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5NzUgcTAgMjUgMTggNDNsMTM5IDEzOXExOCAxOCA0MyAxOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDQ0OyIgZD0iTTI1MCAxMjAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTE1MGwtNDUwIDQ0NGwtNDUwIC00NDV2MTE1MXEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NTsiIGQ9Ik04MjIgMTIwMGgtNDQ0cS0xMSAwIC0xOSAtNy41dC05IC0xNy41bC03OCAtMzAxcS03IC0yNCA3IC00NWw1NyAtMTA4cTYgLTkgMTcuNSAtMTV0MjEuNSAtNmg0NTBxMTAgMCAyMS41IDZ0MTcuNSAxNWw2MiAxMDhxMTQgMjEgNyA0NWwtODMgMzAxcS0xIDEwIC05IDE3LjV0LTE5IDcuNXpNMTE3NSA4MDBoLTE1MHEtMTAgMCAtMjEgLTYuNXQtMTUgLTE1LjVsLTc4IC0xNTZxLTQgLTkgLTE1IC0xNS41dC0yMSAtNi41aC01NTAgcS0xMCAwIC0yMSA2LjV0LTE1IDE1LjVsLTc4IDE1NnEtNCA5IC0xNSAxNS41dC0yMSA2LjVoLTE1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTY1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDc1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41IHQ3LjUgMTcuNXY2NTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41ek04NTAgMjAwaC01MDBxLTEwIDAgLTE5LjUgLTd0LTExLjUgLTE3bC0zOCAtMTUycS0yIC0xMCAzLjUgLTE3dDE1LjUgLTdoNjAwcTEwIDAgMTUuNSA3dDMuNSAxN2wtMzggMTUycS0yIDEwIC0xMS41IDE3dC0xOS41IDd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NjsiIGQ9Ik01MDAgMTEwMGgyMDBxNTYgMCAxMDIuNSAtMjAuNXQ3Mi41IC01MHQ0NCAtNTl0MjUgLTUwLjVsNiAtMjBoMTUwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41di02MDBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTEwMDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djYwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMTUwcTIgOCA2LjUgMjEuNXQyNCA0OHQ0NSA2MXQ3MiA0OHQxMDIuNSAyMS41ek05MDAgODAwdi0xMDAgaDEwMHYxMDBoLTEwMHpNNjAwIDczMHEtOTUgMCAtMTYyLjUgLTY3LjV0LTY3LjUgLTE2Mi41dDY3LjUgLTE2Mi41dDE2Mi41IC02Ny41dDE2Mi41IDY3LjV0NjcuNSAxNjIuNXQtNjcuNSAxNjIuNXQtMTYyLjUgNjcuNXpNNjAwIDYwM3E0MyAwIDczIC0zMHQzMCAtNzN0LTMwIC03M3QtNzMgLTMwdC03MyAzMHQtMzAgNzN0MzAgNzN0NzMgMzB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NzsiIGQ9Ik02ODEgMTE5OWwzODUgLTk5OHEyMCAtNTAgNjAgLTkycTE4IC0xOSAzNi41IC0yOS41dDI3LjUgLTExLjVsMTAgLTJ2LTY2aC00MTd2NjZxNTMgMCA3NSA0My41dDUgODguNWwtODIgMjIyaC0zOTFxLTU4IC0xNDUgLTkyIC0yMzRxLTExIC0zNCAtNi41IC01N3QyNS41IC0zN3Q0NiAtMjB0NTUgLTZ2LTY2aC0zNjV2NjZxNTYgMjQgODQgNTJxMTIgMTIgMjUgMzAuNXQyMCAzMS41bDcgMTNsMzk5IDEwMDZoOTN6TTQxNiA1MjFoMzQwIGwtMTYyIDQ1N3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDQ4OyIgZD0iTTc1MyA2NDFxNSAtMSAxNC41IC00LjV0MzYgLTE1LjV0NTAuNSAtMjYuNXQ1My41IC00MHQ1MC41IC01NC41dDM1LjUgLTcwdDE0LjUgLTg3cTAgLTY3IC0yNy41IC0xMjUuNXQtNzEuNSAtOTcuNXQtOTguNSAtNjYuNXQtMTA4LjUgLTQwLjV0LTEwMiAtMTNoLTUwMHY4OXE0MSA3IDcwLjUgMzIuNXQyOS41IDY1LjV2ODI3cTAgMjQgLTAuNSAzNHQtMy41IDI0dC04LjUgMTkuNXQtMTcgMTMuNXQtMjggMTIuNXQtNDIuNSAxMS41djcxIGw0NzEgLTFxNTcgMCAxMTUuNSAtMjAuNXQxMDggLTU3dDgwLjUgLTk0dDMxIC0xMjQuNXEwIC01MSAtMTUuNSAtOTYuNXQtMzggLTc0LjV0LTQ1IC01MC41dC0zOC41IC0zMC41ek00MDAgNzAwaDEzOXE3OCAwIDEzMC41IDQ4LjV0NTIuNSAxMjIuNXEwIDQxIC04LjUgNzAuNXQtMjkuNSA1NS41dC02Mi41IDM5LjV0LTEwMy41IDEzLjVoLTExOHYtMzUwek00MDAgMjAwaDIxNnE4MCAwIDEyMSA1MC41dDQxIDEzMC41cTAgOTAgLTYyLjUgMTU0LjUgdC0xNTYuNSA2NC41aC0xNTl2LTQwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDQ5OyIgZD0iTTg3NyAxMjAwbDIgLTU3cS04MyAtMTkgLTExNiAtNDUuNXQtNDAgLTY2LjVsLTEzMiAtODM5cS05IC00OSAxMyAtNjl0OTYgLTI2di05N2gtNTAwdjk3cTE4NiAxNiAyMDAgOThsMTczIDgzMnEzIDE3IDMgMzB0LTEuNSAyMi41dC05IDE3LjV0LTEzLjUgMTIuNXQtMjEuNSAxMHQtMjYgOC41dC0zMy41IDEwcS0xMyAzIC0xOSA1djU3aDQyNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDUwOyIgZD0iTTEzMDAgOTAwaC01MHEwIDIxIC00IDM3dC05LjUgMjYuNXQtMTggMTcuNXQtMjIgMTF0LTI4LjUgNS41dC0zMSAydC0zNyAwLjVoLTIwMHYtODUwcTAgLTIyIDI1IC0zNC41dDUwIC0xMy41bDI1IC0ydi0xMDBoLTQwMHYxMDBxNCAwIDExIDAuNXQyNCAzdDMwIDd0MjQgMTV0MTEgMjQuNXY4NTBoLTIwMHEtMjUgMCAtMzcgLTAuNXQtMzEgLTJ0LTI4LjUgLTUuNXQtMjIgLTExdC0xOCAtMTcuNXQtOS41IC0yNi41dC00IC0zN2gtNTB2MzAwIGgxMDAwdi0zMDB6TTE3NSAxMDAwaC03NXYtODAwaDc1bC0xMjUgLTE2N2wtMTI1IDE2N2g3NXY4MDBoLTc1bDEyNSAxNjd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MTsiIGQ9Ik0xMTAwIDkwMGgtNTBxMCAyMSAtNCAzN3QtOS41IDI2LjV0LTE4IDE3LjV0LTIyIDExdC0yOC41IDUuNXQtMzEgMnQtMzcgMC41aC0yMDB2LTY1MHEwIC0yMiAyNSAtMzQuNXQ1MCAtMTMuNWwyNSAtMnYtMTAwaC00MDB2MTAwcTQgMCAxMSAwLjV0MjQgM3QzMCA3dDI0IDE1dDExIDI0LjV2NjUwaC0yMDBxLTI1IDAgLTM3IC0wLjV0LTMxIC0ydC0yOC41IC01LjV0LTIyIC0xMXQtMTggLTE3LjV0LTkuNSAtMjYuNXQtNCAtMzdoLTUwdjMwMCBoMTAwMHYtMzAwek0xMTY3IDUwbC0xNjcgLTEyNXY3NWgtODAwdi03NWwtMTY3IDEyNWwxNjcgMTI1di03NWg4MDB2NzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MjsiIGQ9Ik01MCAxMTAwaDYwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDgwMGgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA1MDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTgwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMjAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MzsiIGQ9Ik0yNTAgMTEwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMjUwIDUwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCAyMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDU0OyIgZD0iTTUwMCA5NTB2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg2MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXpNMTAwIDY1MHYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41ek0zMDAgMzUwdjEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTgwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV6TTAgNTB2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDU1OyIgZD0iTTUwIDExMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMjAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1NjsiIGQ9Ik01MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTM1MCAxMTAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMzUwIDgwMGg4MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTM1MCA1MDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zNTAgMjAwaDgwMCBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNTc7IiBkPSJNNDAwIDBoLTEwMHYxMTAwaDEwMHYtMTEwMHpNNTUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTUwIDgwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMjY3IDU1MGwtMTY3IC0xMjV2NzVoLTIwMHYxMDBoMjAwdjc1ek01NTAgNTAwaDMwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTU1MCAyMDBoNjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1ODsiIGQ9Ik01MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTkwMCAwaC0xMDB2MTEwMGgxMDB2LTExMDB6TTUwIDgwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTEwMCA2MDBoMjAwdi0xMDBoLTIwMHYtNzVsLTE2NyAxMjVsMTY3IDEyNXYtNzV6TTUwIDUwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCAyMDBoNjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1OTsiIGQ9Ik03NSAxMDAwaDc1MHEzMSAwIDUzIC0yMnQyMiAtNTN2LTY1MHEwIC0zMSAtMjIgLTUzdC01MyAtMjJoLTc1MHEtMzEgMCAtNTMgMjJ0LTIyIDUzdjY1MHEwIDMxIDIyIDUzdDUzIDIyek0xMjAwIDMwMGwtMzAwIDMwMGwzMDAgMzAwdi02MDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA2MDsiIGQ9Ik00NCAxMTAwaDExMTJxMTggMCAzMSAtMTN0MTMgLTMxdi0xMDEycTAgLTE4IC0xMyAtMzF0LTMxIC0xM2gtMTExMnEtMTggMCAtMzEgMTN0LTEzIDMxdjEwMTJxMCAxOCAxMyAzMXQzMSAxM3pNMTAwIDEwMDB2LTczN2wyNDcgMTgybDI5OCAtMTMxbC03NCAxNTZsMjkzIDMxOGwyMzYgLTI4OHY1MDBoLTEwMDB6TTM0MiA4ODRxNTYgMCA5NSAtMzl0MzkgLTk0LjV0LTM5IC05NXQtOTUgLTM5LjV0LTk1IDM5LjV0LTM5IDk1dDM5IDk0LjUgdDk1IDM5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjI7IiBkPSJNNjQ4IDExNjlxMTE3IDAgMjE2IC02MHQxNTYuNSAtMTYxdDU3LjUgLTIxOHEwIC0xMTUgLTcwIC0yNThxLTY5IC0xMDkgLTE1OCAtMjI1LjV0LTE0MyAtMTc5LjVsLTU0IC02MnEtOSA4IC0yNS41IDI0LjV0LTYzLjUgNjcuNXQtOTEgMTAzdC05OC41IDEyOHQtOTUuNSAxNDhxLTYwIDEzMiAtNjAgMjQ5cTAgODggMzQgMTY5LjV0OTEuNSAxNDJ0MTM3IDk2LjV0MTY2LjUgMzZ6TTY1Mi41IDk3NHEtOTEuNSAwIC0xNTYuNSAtNjUgdC02NSAtMTU3dDY1IC0xNTYuNXQxNTYuNSAtNjQuNXQxNTYuNSA2NC41dDY1IDE1Ni41dC02NSAxNTd0LTE1Ni41IDY1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjM7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTYwMCAxNzN2ODU0cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjUgdDE1NS41IC0xNTUuNXQyMTQuNSAtNTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA2NDsiIGQ9Ik01NTQgMTI5NXEyMSAtNzIgNTcuNSAtMTQzLjV0NzYgLTEzMHQ4MyAtMTE4dDgyLjUgLTExN3Q3MCAtMTE2dDQ5LjUgLTEyNnQxOC41IC0xMzYuNXEwIC03MSAtMjUuNSAtMTM1dC02OC41IC0xMTF0LTk5IC04MnQtMTE4LjUgLTU0dC0xMjUuNSAtMjNxLTg0IDUgLTE2MS41IDM0dC0xMzkuNSA3OC41dC05OSAxMjV0LTM3IDE2NC41cTAgNjkgMTggMTM2LjV0NDkuNSAxMjYuNXQ2OS41IDExNi41dDgxLjUgMTE3LjV0ODMuNSAxMTkgdDc2LjUgMTMxdDU4LjUgMTQzek0zNDQgNzEwcS0yMyAtMzMgLTQzLjUgLTcwLjV0LTQwLjUgLTEwMi41dC0xNyAtMTIzcTEgLTM3IDE0LjUgLTY5LjV0MzAgLTUydDQxIC0zN3QzOC41IC0yNC41dDMzIC0xNXEyMSAtNyAzMiAtMXQxMyAyMmw2IDM0cTIgMTAgLTIuNSAyMnQtMTMuNSAxOXEtNSA0IC0xNCAxMnQtMjkuNSA0MC41dC0zMi41IDczLjVxLTI2IDg5IDYgMjcxcTIgMTEgLTYgMTFxLTggMSAtMTUgLTEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjU7IiBkPSJNMTAwMCAxMDEzbDEwOCAxMTVxMiAxIDUgMnQxMyAydDIwLjUgLTF0MjUgLTkuNXQyOC41IC0yMS41cTIyIC0yMiAyNyAtNDN0MCAtMzJsLTYgLTEwbC0xMDggLTExNXpNMzUwIDExMDBoNDAwcTUwIDAgMTA1IC0xM2wtMTg3IC0xODdoLTM2OHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNTAwcTAgLTQxIDI5LjUgLTcwLjV0NzAuNSAtMjkuNWg1MDBxNDEgMCA3MC41IDI5LjV0MjkuNSA3MC41djE4MmwyMDAgMjAwdi0zMzIgcTAgLTE2NSAtOTMuNSAtMjU3LjV0LTI1Ni41IC05Mi41aC00MDBxLTE2NSAwIC0yNTcuNSA5Mi41dC05Mi41IDI1Ny41djQwMHEwIDE2NSA5Mi41IDI1Ny41dDI1Ny41IDkyLjV6TTEwMDkgODAzbC0zNjIgLTM2MmwtMTYxIC01MGw1NSAxNzBsMzU1IDM1NXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDY2OyIgZD0iTTM1MCAxMTAwaDM2MXEtMTY0IC0xNDYgLTIxNiAtMjAwaC0xOTVxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNWwyMDAgMTUzdi0xMDNxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXogTTgyNCAxMDczbDMzOSAtMzAxcTggLTcgOCAtMTcuNXQtOCAtMTcuNWwtMzQwIC0zMDZxLTcgLTYgLTEyLjUgLTR0LTYuNSAxMXYyMDNxLTI2IDEgLTU0LjUgMHQtNzguNSAtNy41dC05MiAtMTcuNXQtODYgLTM1dC03MCAtNTdxMTAgNTkgMzMgMTA4dDUxLjUgODEuNXQ2NSA1OC41dDY4LjUgNDAuNXQ2NyAyNC41dDU2IDEzLjV0NDAgNC41djIxMHExIDEwIDYuNSAxMi41dDEzLjUgLTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDY3OyIgZD0iTTM1MCAxMTAwaDM1MHE2MCAwIDEyNyAtMjNsLTE3OCAtMTc3aC0zNDlxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNXY2OWwyMDAgMjAwdi0yMTlxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXogTTY0MyA2MzlsMzk1IDM5NXE3IDcgMTcuNSA3dDE3LjUgLTdsMTAxIC0xMDFxNyAtNyA3IC0xNy41dC03IC0xNy41bC01MzEgLTUzMnEtNyAtNyAtMTcuNSAtN3QtMTcuNSA3bC0yNDggMjQ4cS03IDcgLTcgMTcuNXQ3IDE3LjVsMTAxIDEwMXE3IDcgMTcuNSA3dDE3LjUgLTdsMTExIC0xMTFxOCAtNyAxOCAtN3QxOCA3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjg7IiBkPSJNMzE4IDkxOGwyNjQgMjY0cTggOCAxOCA4dDE4IC04bDI2MCAtMjY0cTcgLTggNC41IC0xM3QtMTIuNSAtNWgtMTcwdi0yMDBoMjAwdjE3M3EwIDEwIDUgMTJ0MTMgLTVsMjY0IC0yNjBxOCAtNyA4IC0xNy41dC04IC0xNy41bC0yNjQgLTI2NXEtOCAtNyAtMTMgLTV0LTUgMTJ2MTczaC0yMDB2LTIwMGgxNzBxMTAgMCAxMi41IC01dC00LjUgLTEzbC0yNjAgLTI2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTI2NCAyNjRxLTggOCAtNS41IDEzIHQxMi41IDVoMTc1djIwMGgtMjAwdi0xNzNxMCAtMTAgLTUgLTEydC0xMyA1bC0yNjQgMjY1cS04IDcgLTggMTcuNXQ4IDE3LjVsMjY0IDI2MHE4IDcgMTMgNXQ1IC0xMnYtMTczaDIwMHYyMDBoLTE3NXEtMTAgMCAtMTIuNSA1dDUuNSAxM3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDY5OyIgZD0iTTI1MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDM4bDQ2NCA0NTNxMTUgMTQgMjUuNSAxMHQxMC41IC0yNXYtMTAwMHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ2NCA0NTN2LTQzOHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDcwOyIgZD0iTTUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MzhsNDY0IDQ1M3ExNSAxNCAyNS41IDEwdDEwLjUgLTI1di00MzhsNDY0IDQ1M3ExNSAxNCAyNS41IDEwdDEwLjUgLTI1di0xMDAwcTAgLTIxIC0xMC41IC0yNXQtMjUuNSAxMGwtNDY0IDQ1M3YtNDM4cTAgLTIxIC0xMC41IC0yNXQtMjUuNSAxMGwtNDY0IDQ1M3YtNDM4cTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXYxMDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDcxOyIgZD0iTTEyMDAgMTA1MHYtMTAwMHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ2NCA0NTN2LTQzOHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ5MiA0ODBxLTE1IDE0IC0xNSAzNXQxNSAzNWw0OTIgNDgwcTE1IDE0IDI1LjUgMTB0MTAuNSAtMjV2LTQzOGw0NjQgNDUzcTE1IDE0IDI1LjUgMTB0MTAuNSAtMjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3MjsiIGQ9Ik0yNDMgMTA3NGw4MTQgLTQ5OHExOCAtMTEgMTggLTI2dC0xOCAtMjZsLTgxNCAtNDk4cS0xOCAtMTEgLTMwLjUgLTR0LTEyLjUgMjh2MTAwMHEwIDIxIDEyLjUgMjh0MzAuNSAtNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDczOyIgZD0iTTI1MCAxMDAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtODAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCAxMDAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtODAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNzQ7IiBkPSJNMTEwMCA5NTB2LTgwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY4MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDc1OyIgZD0iTTUwMCA2MTJ2NDM4cTAgMjEgMTAuNSAyNXQyNS41IC0xMGw0OTIgLTQ4MHExNSAtMTQgMTUgLTM1dC0xNSAtMzVsLTQ5MiAtNDgwcS0xNSAtMTQgLTI1LjUgLTEwdC0xMC41IDI1djQzOGwtNDY0IC00NTNxLTE1IC0xNCAtMjUuNSAtMTB0LTEwLjUgMjV2MTAwMHEwIDIxIDEwLjUgMjV0MjUuNSAtMTB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3NjsiIGQ9Ik0xMDQ4IDExMDJsMTAwIDFxMjAgMCAzNSAtMTQuNXQxNSAtMzUuNWw1IC0xMDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41bC0xMDAgLTFxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41bC0yIDQzN2wtNDYzIC00NTRxLTE0IC0xNSAtMjQuNSAtMTAuNXQtMTAuNSAyNS41bC0yIDQzN2wtNDYyIC00NTVxLTE1IC0xNCAtMjUuNSAtOS41dC0xMC41IDI0LjVsLTUgMTAwMHEwIDIxIDEwLjUgMjUuNXQyNS41IC0xMC41bDQ2NiAtNDUwIGwtMiA0MzhxMCAyMCAxMC41IDI0LjV0MjUuNSAtOS41bDQ2NiAtNDUxbC0yIDQzOHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3NzsiIGQ9Ik04NTAgMTEwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDM4bC00NjQgLTQ1M3EtMTUgLTE0IC0yNS41IC0xMHQtMTAuNSAyNXYxMDAwcTAgMjEgMTAuNSAyNXQyNS41IC0xMGw0NjQgLTQ1M3Y0MzhxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNzg7IiBkPSJNNjg2IDEwODFsNTAxIC01NDBxMTUgLTE1IDEwLjUgLTI2dC0yNi41IC0xMWgtMTA0MnEtMjIgMCAtMjYuNSAxMXQxMC41IDI2bDUwMSA1NDBxMTUgMTUgMzYgMTV0MzYgLTE1ek0xNTAgNDAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDc5OyIgZD0iTTg4NSA5MDBsLTM1MiAtMzUzbDM1MiAtMzUzbC0xOTcgLTE5OGwtNTUyIDU1Mmw1NTIgNTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwODA7IiBkPSJNMTA2NCA1NDdsLTU1MSAtNTUxbC0xOTggMTk4bDM1MyAzNTNsLTM1MyAzNTNsMTk4IDE5OHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDgxOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02NTAgOTAwaC0xMDBxLTIxIDAgLTM1LjUgLTE0LjV0LTE0LjUgLTM1LjV2LTE1MGgtMTUwIHEtMjEgMCAtMzUuNSAtMTQuNXQtMTQuNSAtMzUuNXYtMTAwcTAgLTIxIDE0LjUgLTM1LjV0MzUuNSAtMTQuNWgxNTB2LTE1MHEwIC0yMSAxNC41IC0zNS41dDM1LjUgLTE0LjVoMTAwcTIxIDAgMzUuNSAxNC41dDE0LjUgMzUuNXYxNTBoMTUwcTIxIDAgMzUuNSAxNC41dDE0LjUgMzUuNXYxMDBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTE1MHYxNTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4MjsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNODUwIDcwMGgtNTAwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xMDBxMCAtMjEgMTQuNSAtMzUuNSB0MzUuNSAtMTQuNWg1MDBxMjEgMCAzNS41IDE0LjV0MTQuNSAzNS41djEwMHEwIDIxIC0xNC41IDM1LjV0LTM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDgzOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek03NDEuNSA5MTNxLTEyLjUgMCAtMjEuNSAtOWwtMTIwIC0xMjBsLTEyMCAxMjBxLTkgOSAtMjEuNSA5IHQtMjEuNSAtOWwtMTQxIC0xNDFxLTkgLTkgLTkgLTIxLjV0OSAtMjEuNWwxMjAgLTEyMGwtMTIwIC0xMjBxLTkgLTkgLTkgLTIxLjV0OSAtMjEuNWwxNDEgLTE0MXE5IC05IDIxLjUgLTl0MjEuNSA5bDEyMCAxMjBsMTIwIC0xMjBxOSAtOSAyMS41IC05dDIxLjUgOWwxNDEgMTQxcTkgOSA5IDIxLjV0LTkgMjEuNWwtMTIwIDEyMGwxMjAgMTIwcTkgOSA5IDIxLjV0LTkgMjEuNWwtMTQxIDE0MXEtOSA5IC0yMS41IDl6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4NDsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNTQ2IDYyM2wtODQgODVxLTcgNyAtMTcuNSA3dC0xOC41IC03bC0xMzkgLTEzOXEtNyAtOCAtNyAtMTh0NyAtMTggbDI0MiAtMjQxcTcgLTggMTcuNSAtOHQxNy41IDhsMzc1IDM3NXE3IDcgNyAxNy41dC03IDE4LjVsLTEzOSAxMzlxLTcgNyAtMTcuNSA3dC0xNy41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwODU7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTU4OCA5NDFxLTI5IDAgLTU5IC01LjV0LTYzIC0yMC41dC01OCAtMzguNXQtNDEuNSAtNjN0LTE2LjUgLTg5LjUgcTAgLTI1IDIwIC0yNWgxMzFxMzAgLTUgMzUgMTFxNiAyMCAyMC41IDI4dDQ1LjUgOHEyMCAwIDMxLjUgLTEwLjV0MTEuNSAtMjguNXEwIC0yMyAtNyAtMzR0LTI2IC0xOHEtMSAwIC0xMy41IC00dC0xOS41IC03LjV0LTIwIC0xMC41dC0yMiAtMTd0LTE4LjUgLTI0dC0xNS41IC0zNXQtOCAtNDZxLTEgLTggNS41IC0xNi41dDIwLjUgLTguNWgxNzNxNyAwIDIyIDh0MzUgMjh0MzcuNSA0OHQyOS41IDc0dDEyIDEwMHEwIDQ3IC0xNyA4MyB0LTQyLjUgNTd0LTU5LjUgMzQuNXQtNjQgMTh0LTU5IDQuNXpNNjc1IDQwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MTUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDg2OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02NzUgMTAwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNSB0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djE1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6TTY3NSA3MDBoLTI1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoNzV2LTIwMGgtNzVxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di01MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDM1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djUwcTAgMTAgLTcuNSAxNy41IHQtMTcuNSA3LjVoLTc1djI3NXEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4NzsiIGQ9Ik01MjUgMTIwMGgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xOTRxMTAzIC0yNyAxNzguNSAtMTAyLjV0MTAyLjUgLTE3OC41aDE5NHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE5NHEtMjcgLTEwMyAtMTAyLjUgLTE3OC41dC0xNzguNSAtMTAyLjV2LTE5NHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE5NCBxLTEwMyAyNyAtMTc4LjUgMTAyLjV0LTEwMi41IDE3OC41aC0xOTRxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxOTRxMjcgMTAzIDEwMi41IDE3OC41dDE3OC41IDEwMi41djE5NHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek03MDAgODkzdi0xNjhxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNjhxLTY4IC0yMyAtMTE5IC03NCB0LTc0IC0xMTloMTY4cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTY4cTIzIC02OCA3NCAtMTE5dDExOSAtNzR2MTY4cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTY4cTY4IDIzIDExOSA3NHQ3NCAxMTloLTE2OHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDE2OCBxLTIzIDY4IC03NCAxMTl0LTExOSA3NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDg4OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek03NTkgODIzbDY0IC02NHE3IC03IDcgLTE3LjV0LTcgLTE3LjVsLTEyNCAtMTI0bDEyNCAtMTI0cTcgLTcgNyAtMTcuNXQtNyAtMTcuNWwtNjQgLTY0cS03IC03IC0xNy41IC03dC0xNy41IDdsLTEyNCAxMjRsLTEyNCAtMTI0cS03IC03IC0xNy41IC03dC0xNy41IDdsLTY0IDY0IHEtNyA3IC03IDE3LjV0NyAxNy41bDEyNCAxMjRsLTEyNCAxMjRxLTcgNyAtNyAxNy41dDcgMTcuNWw2NCA2NHE3IDcgMTcuNSA3dDE3LjUgLTdsMTI0IC0xMjRsMTI0IDEyNHE3IDcgMTcuNSA3dDE3LjUgLTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4OTsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNjAwIDEwMjdxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41dDU3IC0yMTQuNSB0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXQtNTcgMjE0LjV0LTE1NS41IDE1NS41dC0yMTQuNSA1N3pNNzgyIDc4OGwxMDYgLTEwNnE3IC03IDcgLTE3LjV0LTcgLTE3LjVsLTMyMCAtMzIxcS04IC03IC0xOCAtN3QtMTggN2wtMjAyIDIwM3EtOCA3IC04IDE3LjV0OCAxNy41bDEwNiAxMDZxNyA4IDE3LjUgOHQxNy41IC04bDc5IC03OWwxOTcgMTk3cTcgNyAxNy41IDd0MTcuNSAtN3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDkwOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjVxMCAtMTIwIDY1IC0yMjUgbDU4NyA1ODdxLTEwNSA2NSAtMjI1IDY1ek05NjUgODE5bC01ODQgLTU4NHExMDQgLTYyIDIxOSAtNjJxMTE2IDAgMjE0LjUgNTd0MTU1LjUgMTU1LjV0NTcgMjE0LjVxMCAxMTUgLTYyIDIxOXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDkxOyIgZD0iTTM5IDU4Mmw1MjIgNDI3cTE2IDEzIDI3LjUgOHQxMS41IC0yNnYtMjkxaDU1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC01NTB2LTI5MXEwIC0yMSAtMTEuNSAtMjZ0LTI3LjUgOGwtNTIyIDQyN3EtMTYgMTMgLTE2IDMydDE2IDMyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwOTI7IiBkPSJNNjM5IDEwMDlsNTIyIC00MjdxMTYgLTEzIDE2IC0zMnQtMTYgLTMybC01MjIgLTQyN3EtMTYgLTEzIC0yNy41IC04dC0xMS41IDI2djI5MWgtNTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDU1MHYyOTFxMCAyMSAxMS41IDI2dDI3LjUgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA5MzsiIGQ9Ik02ODIgMTE2MWw0MjcgLTUyMnExMyAtMTYgOCAtMjcuNXQtMjYgLTExLjVoLTI5MXYtNTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djU1MGgtMjkxcS0yMSAwIC0yNiAxMS41dDggMjcuNWw0MjcgNTIycTEzIDE2IDMyIDE2dDMyIC0xNnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDk0OyIgZD0iTTU1MCAxMjAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTUwaDI5MXEyMSAwIDI2IC0xMS41dC04IC0yNy41bC00MjcgLTUyMnEtMTMgLTE2IC0zMiAtMTZ0LTMyIDE2bC00MjcgNTIycS0xMyAxNiAtOCAyNy41dDI2IDExLjVoMjkxdjU1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA5NTsiIGQ9Ik02MzkgMTEwOWw1MjIgLTQyN3ExNiAtMTMgMTYgLTMydC0xNiAtMzJsLTUyMiAtNDI3cS0xNiAtMTMgLTI3LjUgLTh0LTExLjUgMjZ2MjkxcS05NCAtMiAtMTgyIC0yMHQtMTcwLjUgLTUydC0xNDcgLTkyLjV0LTEwMC41IC0xMzUuNXE1IDEwNSAyNyAxOTMuNXQ2Ny41IDE2N3QxMTMgMTM1dDE2NyA5MS41dDIyNS41IDQydjI2MnEwIDIxIDExLjUgMjZ0MjcuNSAtOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDk2OyIgZD0iTTg1MCAxMjAwaDMwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMzAwcTAgLTIxIC0xMC41IC0yNXQtMjQuNSAxMGwtOTQgOTRsLTI0OSAtMjQ5cS04IC03IC0xOCAtN3QtMTggN2wtMTA2IDEwNnEtNyA4IC03IDE4dDcgMThsMjQ5IDI0OWwtOTQgOTRxLTE0IDE0IC0xMCAyNC41dDI1IDEwLjV6TTM1MCAwaC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djMwMHEwIDIxIDEwLjUgMjV0MjQuNSAtMTBsOTQgLTk0bDI0OSAyNDkgcTggNyAxOCA3dDE4IC03bDEwNiAtMTA2cTcgLTggNyAtMTh0LTcgLTE4bC0yNDkgLTI0OWw5NCAtOTRxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDk3OyIgZD0iTTEwMTQgMTEyMGwxMDYgLTEwNnE3IC04IDcgLTE4dC03IC0xOGwtMjQ5IC0yNDlsOTQgLTk0cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTMwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MzAwcTAgMjEgMTAuNSAyNXQyNC41IC0xMGw5NCAtOTRsMjQ5IDI0OXE4IDcgMTggN3QxOCAtN3pNMjUwIDYwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTk0IDk0IGwtMjQ5IC0yNDlxLTggLTcgLTE4IC03dC0xOCA3bC0xMDYgMTA2cS03IDggLTcgMTh0NyAxOGwyNDkgMjQ5bC05NCA5NHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTAxOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek03MDQgOTAwaC0yMDhxLTIwIDAgLTMyIC0xNC41dC04IC0zNC41bDU4IC0zMDJxNCAtMjAgMjEuNSAtMzQuNSB0MzcuNSAtMTQuNWg1NHEyMCAwIDM3LjUgMTQuNXQyMS41IDM0LjVsNTggMzAycTQgMjAgLTggMzQuNXQtMzIgMTQuNXpNNjc1IDQwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MTUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTAyOyIgZD0iTTI2MCAxMjAwcTkgMCAxOSAtMnQxNSAtNGw1IC0ycTIyIC0xMCA0NCAtMjNsMTk2IC0xMThxMjEgLTEzIDM2IC0yNHEyOSAtMjEgMzcgLTEycTExIDEzIDQ5IDM1bDE5NiAxMThxMjIgMTMgNDUgMjNxMTcgNyAzOCA3cTIzIDAgNDcgLTE2LjV0MzcgLTMzLjVsMTMgLTE2cTE0IC0yMSAxOCAtNDVsMjUgLTEyM2w4IC00NHExIC05IDguNSAtMTQuNXQxNy41IC01LjVoNjFxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MCBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTE3NWgtNDAwdjMwMGgtMjAwdi0zMDBoLTQwMHYxNzVxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNjFxMTEgMCAxOCAzdDcgOHEwIDQgOSA1MmwyNSAxMjhxNSAyNSAxOSA0NXEyIDMgNSA3dDEzLjUgMTV0MjEuNSAxOS41dDI2LjUgMTUuNSB0MjkuNSA3ek05MTUgMTA3OWwtMTY2IC0xNjJxLTcgLTcgLTUgLTEydDEyIC01aDIxOXExMCAwIDE1IDd0MiAxN2wtNTEgMTQ5cS0zIDEwIC0xMSAxMnQtMTUgLTZ6TTQ2MyA5MTdsLTE3NyAxNTdxLTggNyAtMTYgNXQtMTEgLTEybC01MSAtMTQzcS0zIC0xMCAyIC0xN3QxNSAtN2gyMzFxMTEgMCAxMi41IDV0LTUuNSAxMnpNNTAwIDBoLTM3NXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM3NWg0MDB2LTQwMHpNMTEwMCA0MDB2LTM3NSBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0zNzV2NDAwaDQwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTAzOyIgZD0iTTExNjUgMTE5MHE4IDMgMjEgLTYuNXQxMyAtMTcuNXEtMiAtMTc4IC0yNC41IC0zMjMuNXQtNTUuNSAtMjQ1LjV0LTg3IC0xNzQuNXQtMTAyLjUgLTExOC41dC0xMTggLTY4LjV0LTExOC41IC0zM3QtMTIwIC00LjV0LTEwNSA5LjV0LTkwIDE2LjVxLTYxIDEyIC03OCAxMXEtNCAxIC0xMi41IDB0LTM0IC0xNC41dC01Mi41IC00MC41bC0xNTMgLTE1M3EtMjYgLTI0IC0zNyAtMTQuNXQtMTEgNDMuNXEwIDY0IDQyIDEwMnE4IDggNTAuNSA0NSB0NjYuNSA1OHExOSAxNyAzNSA0N3QxMyA2MXEtOSA1NSAtMTAgMTAyLjV0NyAxMTF0MzcgMTMwdDc4IDEyOS41cTM5IDUxIDgwIDg4dDg5LjUgNjMuNXQ5NC41IDQ1dDExMy41IDM2dDEyOSAzMXQxNTcuNSAzN3QxODIgNDcuNXpNMTExNiAxMDk4cS04IDkgLTIyLjUgLTN0LTQ1LjUgLTUwcS0zOCAtNDcgLTExOSAtMTAzLjV0LTE0MiAtODkuNWwtNjIgLTMzcS01NiAtMzAgLTEwMiAtNTd0LTEwNCAtNjh0LTEwMi41IC04MC41dC04NS41IC05MSB0LTY0IC0xMDQuNXEtMjQgLTU2IC0zMSAtODZ0MiAtMzJ0MzEuNSAxNy41dDU1LjUgNTkuNXEyNSAzMCA5NCA3NS41dDEyNS41IDc3LjV0MTQ3LjUgODFxNzAgMzcgMTE4LjUgNjl0MTAyIDc5LjV0OTkgMTExdDg2LjUgMTQ4LjVxMjIgNTAgMjQgNjB0LTYgMTl6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNDsiIGQ9Ik02NTMgMTIzMXEtMzkgLTY3IC01NC41IC0xMzF0LTEwLjUgLTExNC41dDI0LjUgLTk2LjV0NDcuNSAtODB0NjMuNSAtNjIuNXQ2OC41IC00Ni41dDY1IC0zMHEtNCA3IC0xNy41IDM1dC0xOC41IDM5LjV0LTE3IDM5LjV0LTE3IDQzdC0xMyA0MnQtOS41IDQ0LjV0LTIgNDJ0NCA0M3QxMy41IDM5dDIzIDM4LjVxOTYgLTQyIDE2NSAtMTA3LjV0MTA1IC0xMzh0NTIgLTE1NnQxMyAtMTU5dC0xOSAtMTQ5LjVxLTEzIC01NSAtNDQgLTEwNi41IHQtNjggLTg3dC03OC41IC02NC41dC03Mi41IC00NXQtNTMgLTIycS03MiAtMjIgLTEyNyAtMTFxLTMxIDYgLTEzIDE5cTYgMyAxNyA3cTEzIDUgMzIuNSAyMXQ0MSA0NHQzOC41IDYzLjV0MjEuNSA4MS41dC02LjUgOTQuNXQtNTAgMTA3dC0xMDQgMTE1LjVxMTAgLTEwNCAtMC41IC0xODl0LTM3IC0xNDAuNXQtNjUgLTkzdC04NCAtNTJ0LTkzLjUgLTExdC05NSAyNC41cS04MCAzNiAtMTMxLjUgMTE0dC01My41IDE3MXEtMiAyMyAwIDQ5LjUgdDQuNSA1Mi41dDEzLjUgNTZ0MjcuNSA2MHQ0NiA2NC41dDY5LjUgNjguNXEtOCAtNTMgLTUgLTEwMi41dDE3LjUgLTkwdDM0IC02OC41dDQ0LjUgLTM5dDQ5IC0ycTMxIDEzIDM4LjUgMzZ0LTQuNSA1NXQtMjkgNjQuNXQtMzYgNzV0LTI2IDc1LjVxLTE1IDg1IDIgMTYxLjV0NTMuNSAxMjguNXQ4NS41IDkyLjV0OTMuNSA2MXQ4MS41IDI1LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNTsiIGQ9Ik02MDAgMTA5NHE4MiAwIDE2MC41IC0yMi41dDE0MCAtNTl0MTE2LjUgLTgyLjV0OTQuNSAtOTV0NjggLTk1dDQyLjUgLTgyLjV0MTQgLTU3LjV0LTE0IC01Ny41dC00MyAtODIuNXQtNjguNSAtOTV0LTk0LjUgLTk1dC0xMTYuNSAtODIuNXQtMTQwIC01OXQtMTU5LjUgLTIyLjV0LTE1OS41IDIyLjV0LTE0MCA1OXQtMTE2LjUgODIuNXQtOTQuNSA5NXQtNjguNSA5NXQtNDMgODIuNXQtMTQgNTcuNXQxNCA1Ny41dDQyLjUgODIuNXQ2OCA5NSB0OTQuNSA5NXQxMTYuNSA4Mi41dDE0MCA1OXQxNjAuNSAyMi41ek04ODggODI5cS0xNSAxNSAtMTggMTJ0NSAtMjJxMjUgLTU3IDI1IC0xMTlxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4dC0yMTIgODh0LTg4IDIxMnEwIDU5IDIzIDExNHE4IDE5IDQuNSAyMnQtMTcuNSAtMTJxLTcwIC02OSAtMTYwIC0xODRxLTEzIC0xNiAtMTUgLTQwLjV0OSAtNDIuNXEyMiAtMzYgNDcgLTcxdDcwIC04MnQ5Mi41IC04MXQxMTMgLTU4LjV0MTMzLjUgLTI0LjUgdDEzMy41IDI0dDExMyA1OC41dDkyLjUgODEuNXQ3MCA4MS41dDQ3IDcwLjVxMTEgMTggOSA0Mi41dC0xNCA0MS41cS05MCAxMTcgLTE2MyAxODl6TTQ0OCA3MjdsLTM1IC0zNnEtMTUgLTE1IC0xOS41IC0zOC41dDQuNSAtNDEuNXEzNyAtNjggOTMgLTExNnExNiAtMTMgMzguNSAtMTF0MzYuNSAxN2wzNSAzNHExNCAxNSAxMi41IDMzLjV0LTE2LjUgMzMuNXEtNDQgNDQgLTg5IDExN3EtMTEgMTggLTI4IDIwdC0zMiAtMTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNjsiIGQ9Ik01OTIgMGgtMTQ4bDMxIDEyMHEtOTEgMjAgLTE3NS41IDY4LjV0LTE0My41IDEwNi41dC0xMDMuNSAxMTl0LTY2LjUgMTEwdC0yMiA3NnEwIDIxIDE0IDU3LjV0NDIuNSA4Mi41dDY4IDk1dDk0LjUgOTV0MTE2LjUgODIuNXQxNDAgNTl0MTYwLjUgMjIuNXE2MSAwIDEyNiAtMTVsMzIgMTIxaDE0OHpNOTQ0IDc3MGw0NyAxODFxMTA4IC04NSAxNzYuNSAtMTkydDY4LjUgLTE1OXEwIC0yNiAtMTkuNSAtNzF0LTU5LjUgLTEwMnQtOTMgLTExMiB0LTEyOSAtMTA0LjV0LTE1OCAtNzUuNWw0NiAxNzNxNzcgNDkgMTM2IDExN3Q5NyAxMzFxMTEgMTggOSA0Mi41dC0xNCA0MS41cS01NCA3MCAtMTA3IDEzMHpNMzEwIDgyNHEtNzAgLTY5IC0xNjAgLTE4NHEtMTMgLTE2IC0xNSAtNDAuNXQ5IC00Mi41cTE4IC0zMCAzOSAtNjB0NTcgLTcwLjV0NzQgLTczdDkwIC02MXQxMDUgLTQxLjVsNDEgMTU0cS0xMDcgMTggLTE3OC41IDEwMS41dC03MS41IDE5My41cTAgNTkgMjMgMTE0cTggMTkgNC41IDIyIHQtMTcuNSAtMTJ6TTQ0OCA3MjdsLTM1IC0zNnEtMTUgLTE1IC0xOS41IC0zOC41dDQuNSAtNDEuNXEzNyAtNjggOTMgLTExNnExNiAtMTMgMzguNSAtMTF0MzYuNSAxN2wxMiAxMWwyMiA4NmwtMyA0cS00NCA0NCAtODkgMTE3cS0xMSAxOCAtMjggMjB0LTMyIC0xMnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTA3OyIgZD0iTS05MCAxMDBsNjQyIDEwNjZxMjAgMzEgNDggMjguNXQ0OCAtMzUuNWw2NDIgLTEwNTZxMjEgLTMyIDcuNSAtNjcuNXQtNTAuNSAtMzUuNWgtMTI5NHEtMzcgMCAtNTAuNSAzNHQ3LjUgNjZ6TTE1NSAyMDBoMzQ1djc1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzVoMzQ1bC00NDUgNzIzek00OTYgNzAwaDIwOHEyMCAwIDMyIC0xNC41dDggLTM0LjVsLTU4IC0yNTIgcS00IC0yMCAtMjEuNSAtMzQuNXQtMzcuNSAtMTQuNWgtNTRxLTIwIDAgLTM3LjUgMTQuNXQtMjEuNSAzNC41bC01OCAyNTJxLTQgMjAgOCAzNC41dDMyIDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwODsiIGQ9Ik02NTAgMTIwMHE2MiAwIDEwNiAtNDR0NDQgLTEwNnYtMzM5bDM2MyAtMzI1cTE1IC0xNCAyNiAtMzguNXQxMSAtNDQuNXYtNDFxMCAtMjAgLTEyIC0yNi41dC0yOSA1LjVsLTM1OSAyNDl2LTI2M3ExMDAgLTkzIDEwMCAtMTEzdi02NHEwIC0yMSAtMTMgLTI5dC0zMiAxbC0yMDUgMTI4bC0yMDUgLTEyOHEtMTkgLTkgLTMyIC0xdC0xMyAyOXY2NHEwIDIwIDEwMCAxMTN2MjYzbC0zNTkgLTI0OXEtMTcgLTEyIC0yOSAtNS41dC0xMiAyNi41djQxIHEwIDIwIDExIDQ0LjV0MjYgMzguNWwzNjMgMzI1djMzOXEwIDYyIDQ0IDEwNnQxMDYgNDR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwOTsiIGQ9Ik04NTAgMTIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwaDUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoLTExMDB2MTUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGg1MDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMTAwIDgwMHYtNzUwcTAgLTIxIC0xNC41IC0zNS41IHQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NzUwaDExMDB6TTEwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTMwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTUwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTcwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTkwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTMwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTUwMCA0MDAgdi0xMDBoMTAwdjEwMGgtMTAwek03MDAgNDAwdi0xMDBoMTAwdjEwMGgtMTAwek05MDAgNDAwdi0xMDBoMTAwdjEwMGgtMTAwek0xMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek0zMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek01MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek03MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek05MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTA7IiBkPSJNMTEzNSAxMTY1bDI0OSAtMjMwcTE1IC0xNCAxNSAtMzV0LTE1IC0zNWwtMjQ5IC0yMzBxLTE0IC0xNCAtMjQuNSAtMTB0LTEwLjUgMjV2MTUwaC0xNTlsLTYwMCAtNjAwaC0yOTFxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMjA5bDYwMCA2MDBoMjQxdjE1MHEwIDIxIDEwLjUgMjV0MjQuNSAtMTB6TTUyMiA4MTlsLTE0MSAtMTQxbC0xMjIgMTIyaC0yMDlxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDI5MXpNMTEzNSA1NjVsMjQ5IC0yMzBxMTUgLTE0IDE1IC0zNXQtMTUgLTM1bC0yNDkgLTIzMHEtMTQgLTE0IC0yNC41IC0xMHQtMTAuNSAyNXYxNTBoLTI0MWwtMTgxIDE4MWwxNDEgMTQxbDEyMiAtMTIyaDE1OXYxNTBxMCAyMSAxMC41IDI1dDI0LjUgLTEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTE7IiBkPSJNMTAwIDExMDBoMTAwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNjAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC01OTZsLTMwNCAtMzAwdjMwMGgtMTAwcS00MSAwIC03MC41IDI5LjV0LTI5LjUgNzAuNXY2MDBxMCA0MSAyOS41IDcwLjV0NzAuNSAyOS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTI7IiBkPSJNMTUwIDEyMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yNTBoLTMwMHYyNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTIwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTI1MGgtMzAwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTExMDAgODAwdi0zMDBxMCAtNDEgLTMgLTc3LjV0LTE1IC04OS41dC0zMiAtOTZ0LTU4IC04OXQtODkgLTc3dC0xMjkgLTUxdC0xNzQgLTIwdC0xNzQgMjAgdC0xMjkgNTF0LTg5IDc3dC01OCA4OXQtMzIgOTZ0LTE1IDg5LjV0LTMgNzcuNXYzMDBoMzAwdi0yNTB2LTI3di00Mi41dDEuNSAtNDF0NSAtMzh0MTAgLTM1dDE2LjUgLTMwdDI1LjUgLTI0LjV0MzUgLTE5dDQ2LjUgLTEydDYwIC00dDYwIDQuNXQ0Ni41IDEyLjV0MzUgMTkuNXQyNSAyNS41dDE3IDMwLjV0MTAgMzV0NSAzOHQyIDQwLjV0LTAuNSA0MnYyNXYyNTBoMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTM7IiBkPSJNMTEwMCA0MTFsLTE5OCAtMTk5bC0zNTMgMzUzbC0zNTMgLTM1M2wtMTk3IDE5OWw1NTEgNTUxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTQ7IiBkPSJNMTEwMSA3ODlsLTU1MCAtNTUxbC01NTEgNTUxbDE5OCAxOTlsMzUzIC0zNTNsMzUzIDM1M3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTE1OyIgZD0iTTQwNCAxMDAwaDc0NnEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTUxaDE1MHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNWwtMjMwIC0yNDlxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI0OXEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNWgxNTB2NDAxaC0zODF6TTEzNSA5ODRsMjMwIC0yNDlxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNWgtMTUwdi00MDBoMzg1bDIxNSAtMjAwaC03NTBxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXY1NTBoLTE1MHEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIzMCAyNDlxMTQgMTUgMzUgMTV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTY7IiBkPSJNNTYgMTIwMGg5NHExNyAwIDMxIC0xMXQxOCAtMjdsMzggLTE2Mmg4OTZxMjQgMCAzOSAtMTguNXQxMCAtNDIuNWwtMTAwIC00NzVxLTUgLTIxIC0yNyAtNDIuNXQtNTUgLTIxLjVoLTYzM2w0OCAtMjAwaDUzNXEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41dC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1MGgtMzAwdi01MCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjV0LTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaC0zMXEtMTggMCAtMzIuNSAxMHQtMjAuNSAxOWwtNSAxMGwtMjAxIDk2MWgtNTRxLTIwIDAgLTM1IDE0LjV0LTE1IDM1LjV0MTUgMzUuNXQzNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTc7IiBkPSJNMTIwMCAxMDAwdi0xMDBoLTEyMDB2MTAwaDIwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMzAwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41aDUwMHpNMCA4MDBoMTIwMHYtODAwaC0xMjAwdjgwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTE4OyIgZD0iTTIwMCA4MDBsLTIwMCAtNDAwdjYwMGgyMDBxMCA0MSAyOS41IDcwLjV0NzAuNSAyOS41aDMwMHE0MiAwIDcxIC0yOS41dDI5IC03MC41aDUwMHYtMjAwaC0xMDAwek0xNTAwIDcwMGwtMzAwIC03MDBoLTEyMDBsMzAwIDcwMGgxMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTk7IiBkPSJNNjM1IDExODRsMjMwIC0yNDlxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNWgtMTUwdi02MDFoMTUwcTIxIDAgMjUgLTEwLjV0LTEwIC0yNC41bC0yMzAgLTI0OXEtMTQgLTE1IC0zNSAtMTV0LTM1IDE1bC0yMzAgMjQ5cS0xNCAxNCAtMTAgMjQuNXQyNSAxMC41aDE1MHY2MDFoLTE1MHEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIzMCAyNDlxMTQgMTUgMzUgMTV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMjA7IiBkPSJNOTM2IDg2NGwyNDkgLTIyOXExNCAtMTUgMTQgLTM1LjV0LTE0IC0zNS41bC0yNDkgLTIyOXEtMTUgLTE1IC0yNS41IC0xMC41dC0xMC41IDI0LjV2MTUxaC02MDB2LTE1MXEwIC0yMCAtMTAuNSAtMjQuNXQtMjUuNSAxMC41bC0yNDkgMjI5cS0xNCAxNSAtMTQgMzUuNXQxNCAzNS41bDI0OSAyMjlxMTUgMTUgMjUuNSAxMC41dDEwLjUgLTI1LjV2LTE0OWg2MDB2MTQ5cTAgMjEgMTAuNSAyNS41dDI1LjUgLTEwLjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyMTsiIGQ9Ik0xMTY5IDQwMGwtMTcyIDczMnEtNSAyMyAtMjMgNDUuNXQtMzggMjIuNWgtNjcycS0yMCAwIC0zOCAtMjB0LTIzIC00MWwtMTcyIC03MzloMTEzOHpNMTEwMCAzMDBoLTEwMDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTEwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoMTAwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2MTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41ek04MDAgMTAwdjEwMGgxMDB2LTEwMGgtMTAwIHpNMTAwMCAxMDB2MTAwaDEwMHYtMTAwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyMjsiIGQ9Ik0xMTUwIDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTg1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNXQtMzUuNSAxNC41dC0xNC41IDM1LjV2ODUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTAwMCAyMDBsLTY3NSAyMDBoLTM4bDQ3IC0yNzZxMyAtMTYgLTUuNSAtMjB0LTI5LjUgLTRoLTdoLTg0cS0yMCAwIC0zNC41IDE0dC0xOC41IDM1cS01NSAzMzcgLTU1IDM1MXYyNTB2NnEwIDE2IDEgMjMuNXQ2LjUgMTQgdDE3LjUgNi41aDIwMGw2NzUgMjUwdi04NTB6TTAgNzUwdi0yNTBxLTQgMCAtMTEgMC41dC0yNCA2dC0zMCAxNXQtMjQgMzB0LTExIDQ4LjV2NTBxMCAyNiAxMC41IDQ2dDI1IDMwdDI5IDE2dDI1LjUgN3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTIzOyIgZD0iTTU1MyAxMjAwaDk0cTIwIDAgMjkgLTEwLjV0MyAtMjkuNWwtMTggLTM3cTgzIC0xOSAxNDQgLTgyLjV0NzYgLTE0MC41bDYzIC0zMjdsMTE4IC0xNzNoMTdxMTkgMCAzMyAtMTQuNXQxNCAtMzV0LTEzIC00MC41dC0zMSAtMjdxLTggLTQgLTIzIC05LjV0LTY1IC0xOS41dC0xMDMgLTI1dC0xMzIuNSAtMjB0LTE1OC41IC05cS01NyAwIC0xMTUgNXQtMTA0IDEydC04OC41IDE1LjV0LTczLjUgMTcuNXQtNTQuNSAxNnQtMzUuNSAxMmwtMTEgNCBxLTE4IDggLTMxIDI4dC0xMyA0MC41dDE0IDM1dDMzIDE0LjVoMTdsMTE4IDE3M2w2MyAzMjdxMTUgNzcgNzYgMTQwdDE0NCA4M2wtMTggMzJxLTYgMTkgMy41IDMydDI4LjUgMTN6TTQ5OCAxMTBxNTAgLTYgMTAyIC02cTUzIDAgMTAyIDZxLTEyIC00OSAtMzkuNSAtNzkuNXQtNjIuNSAtMzAuNXQtNjMgMzAuNXQtMzkgNzkuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTI0OyIgZD0iTTgwMCA5NDZsMjI0IDc4bC03OCAtMjI0bDIzNCAtNDVsLTE4MCAtMTU1bDE4MCAtMTU1bC0yMzQgLTQ1bDc4IC0yMjRsLTIyNCA3OGwtNDUgLTIzNGwtMTU1IDE4MGwtMTU1IC0xODBsLTQ1IDIzNGwtMjI0IC03OGw3OCAyMjRsLTIzNCA0NWwxODAgMTU1bC0xODAgMTU1bDIzNCA0NWwtNzggMjI0bDIyNCAtNzhsNDUgMjM0bDE1NSAtMTgwbDE1NSAxODB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyNTsiIGQ9Ik02NTAgMTIwMGg1MHE0MCAwIDcwIC00MC41dDMwIC04NC41di0xNTBsLTI4IC0xMjVoMzI4cTQwIDAgNzAgLTQwLjV0MzAgLTg0LjV2LTEwMHEwIC00NSAtMjkgLTc0bC0yMzggLTM0NHEtMTYgLTI0IC0zOCAtNDAuNXQtNDUgLTE2LjVoLTI1MHEtNyAwIC00MiAyNXQtNjYgNTBsLTMxIDI1aC02MXEtNDUgMCAtNzIuNSAxOHQtMjcuNSA1N3Y0MDBxMCAzNiAyMCA2M2wxNDUgMTk2bDk2IDE5OHExMyAyOCAzNy41IDQ4dDUxLjUgMjB6IE02NTAgMTEwMGwtMTAwIC0yMTJsLTE1MCAtMjEzdi0zNzVoMTAwbDEzNiAtMTAwaDIxNGwyNTAgMzc1djEyNWgtNDUwbDUwIDIyNXYxNzVoLTUwek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTI2OyIgZD0iTTYwMCAxMTAwaDI1MHEyMyAwIDQ1IC0xNi41dDM4IC00MC41bDIzOCAtMzQ0cTI5IC0yOSAyOSAtNzR2LTEwMHEwIC00NCAtMzAgLTg0LjV0LTcwIC00MC41aC0zMjhxMjggLTExOCAyOCAtMTI1di0xNTBxMCAtNDQgLTMwIC04NC41dC03MCAtNDAuNWgtNTBxLTI3IDAgLTUxLjUgMjB0LTM3LjUgNDhsLTk2IDE5OGwtMTQ1IDE5NnEtMjAgMjcgLTIwIDYzdjQwMHEwIDM5IDI3LjUgNTd0NzIuNSAxOGg2MXExMjQgMTAwIDEzOSAxMDB6IE01MCAxMDAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTYzNiAxMDAwbC0xMzYgLTEwMGgtMTAwdi0zNzVsMTUwIC0yMTNsMTAwIC0yMTJoNTB2MTc1bC01MCAyMjVoNDUwdjEyNWwtMjUwIDM3NWgtMjE0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMjc7IiBkPSJNMzU2IDg3M2wzNjMgMjMwcTMxIDE2IDUzIC02bDExMCAtMTEycTEzIC0xMyAxMy41IC0zMnQtMTEuNSAtMzRsLTg0IC0xMjFoMzAycTg0IDAgMTM4IC0zOHQ1NCAtMTEwdC01NSAtMTExdC0xMzkgLTM5aC0xMDZsLTEzMSAtMzM5cS02IC0yMSAtMTkuNSAtNDF0LTI4LjUgLTIwaC0zNDJxLTcgMCAtOTAgODF0LTgzIDk0djUyNXEwIDE3IDE0IDM1LjV0MjggMjguNXpNNDAwIDc5MnYtNTAzbDEwMCAtODloMjkzbDEzMSAzMzkgcTYgMjEgMTkuNSA0MXQyOC41IDIwaDIwM3EyMSAwIDMwLjUgMjV0MC41IDUwdC0zMSAyNWgtNDU2aC03aC02aC01LjV0LTYgMC41dC01IDEuNXQtNSAydC00IDIuNXQtNCA0dC0yLjUgNC41cS0xMiAyNSA1IDQ3bDE0NiAxODNsLTg2IDgzek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NTAwIHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyODsiIGQ9Ik00NzUgMTEwM2wzNjYgLTIzMHEyIC0xIDYgLTMuNXQxNCAtMTAuNXQxOCAtMTYuNXQxNC41IC0yMHQ2LjUgLTIyLjV2LTUyNXEwIC0xMyAtODYgLTk0dC05MyAtODFoLTM0MnEtMTUgMCAtMjguNSAyMHQtMTkuNSA0MWwtMTMxIDMzOWgtMTA2cS04NSAwIC0xMzkuNSAzOXQtNTQuNSAxMTF0NTQgMTEwdDEzOCAzOGgzMDJsLTg1IDEyMXEtMTEgMTUgLTEwLjUgMzR0MTMuNSAzMmwxMTAgMTEycTIyIDIyIDUzIDZ6TTM3MCA5NDVsMTQ2IC0xODMgcTE3IC0yMiA1IC00N3EtMiAtMiAtMy41IC00LjV0LTQgLTR0LTQgLTIuNXQtNSAtMnQtNSAtMS41dC02IC0wLjVoLTZoLTYuNWgtNmgtNDc1di0xMDBoMjIxcTE1IDAgMjkgLTIwdDIwIC00MWwxMzAgLTMzOWgyOTRsMTA2IDg5djUwM2wtMzQyIDIzNnpNMTA1MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjUgdjUwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyOTsiIGQ9Ik01NTAgMTI5NHE3MiAwIDExMSAtNTV0MzkgLTEzOXYtMTA2bDMzOSAtMTMxcTIxIC02IDQxIC0xOS41dDIwIC0yOC41di0zNDJxMCAtNyAtODEgLTkwdC05NCAtODNoLTUyNXEtMTcgMCAtMzUuNSAxNHQtMjguNSAyOGwtOSAxNGwtMjMwIDM2M3EtMTYgMzEgNiA1M2wxMTIgMTEwcTEzIDEzIDMyIDEzLjV0MzQgLTExLjVsMTIxIC04NHYzMDJxMCA4NCAzOCAxMzh0MTEwIDU0ek02MDAgOTcydjIwM3EwIDIxIC0yNSAzMC41dC01MCAwLjUgdC0yNSAtMzF2LTQ1NnYtN3YtNnYtNS41dC0wLjUgLTZ0LTEuNSAtNXQtMiAtNXQtMi41IC00dC00IC00dC00LjUgLTIuNXEtMjUgLTEyIC00NyA1bC0xODMgMTQ2bC04MyAtODZsMjM2IC0zMzloNTAzbDg5IDEwMHYyOTNsLTMzOSAxMzFxLTIxIDYgLTQxIDE5LjV0LTIwIDI4LjV6TTQ1MCAyMDBoNTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTUwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMDsiIGQ9Ik0zNTAgMTEwMGg1MDBxMjEgMCAzNS41IDE0LjV0MTQuNSAzNS41djEwMHEwIDIxIC0xNC41IDM1LjV0LTM1LjUgMTQuNWgtNTAwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xMDBxMCAtMjEgMTQuNSAtMzUuNXQzNS41IC0xNC41ek02MDAgMzA2di0xMDZxMCAtODQgLTM5IC0xMzl0LTExMSAtNTV0LTExMCA1NHQtMzggMTM4djMwMmwtMTIxIC04NHEtMTUgLTEyIC0zNCAtMTEuNXQtMzIgMTMuNWwtMTEyIDExMCBxLTIyIDIyIC02IDUzbDIzMCAzNjNxMSAyIDMuNSA2dDEwLjUgMTMuNXQxNi41IDE3dDIwIDEzLjV0MjIuNSA2aDUyNXExMyAwIDk0IC04M3Q4MSAtOTB2LTM0MnEwIC0xNSAtMjAgLTI4LjV0LTQxIC0xOS41ek0zMDggOTAwbC0yMzYgLTMzOWw4MyAtODZsMTgzIDE0NnEyMiAxNyA0NyA1cTIgLTEgNC41IC0yLjV0NCAtNHQyLjUgLTR0MiAtNXQxLjUgLTV0MC41IC02di01LjV2LTZ2LTd2LTQ1NnEwIC0yMiAyNSAtMzF0NTAgMC41dDI1IDMwLjUgdjIwM3EwIDE1IDIwIDI4LjV0NDEgMTkuNWwzMzkgMTMxdjI5M2wtODkgMTAwaC01MDN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMTsiIGQ9Ik02MDAgMTE3OHExMTggMCAyMjUgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNXQtNDUuNSAtMjI1dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjUgLTQ1LjV0LTIyNSA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjV0NDUuNSAyMjV0MTIzIDE4NC41dDE4NC41IDEyM3QyMjUgNDUuNXpNOTE0IDYzMmwtMjc1IDIyM3EtMTYgMTMgLTI3LjUgOHQtMTEuNSAtMjZ2LTEzN2gtMjc1IHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTE1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDI3NXYtMTM3cTAgLTIxIDExLjUgLTI2dDI3LjUgOGwyNzUgMjIzcTE2IDEzIDE2IDMydC0xNiAzMnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTMyOyIgZD0iTTYwMCAxMTc4cTExOCAwIDIyNSAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI1dC00NS41IC0yMjV0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNSAtNDUuNXQtMjI1IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNXQ0NS41IDIyNXQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNSA0NS41ek01NjEgODU1bC0yNzUgLTIyM3EtMTYgLTEzIC0xNiAtMzJ0MTYgLTMybDI3NSAtMjIzcTE2IC0xMyAyNy41IC04IHQxMS41IDI2djEzN2gyNzVxMTAgMCAxNy41IDcuNXQ3LjUgMTcuNXYxNTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41aC0yNzV2MTM3cTAgMjEgLTExLjUgMjZ0LTI3LjUgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMzsiIGQ9Ik02MDAgMTE3OHExMTggMCAyMjUgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNXQtNDUuNSAtMjI1dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjUgLTQ1LjV0LTIyNSA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjV0NDUuNSAyMjV0MTIzIDE4NC41dDE4NC41IDEyM3QyMjUgNDUuNXpNODU1IDYzOWwtMjIzIDI3NXEtMTMgMTYgLTMyIDE2dC0zMiAtMTZsLTIyMyAtMjc1cS0xMyAtMTYgLTggLTI3LjUgdDI2IC0xMS41aDEzN3YtMjc1cTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2Mjc1aDEzN3EyMSAwIDI2IDExLjV0LTggMjcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTM0OyIgZD0iTTYwMCAxMTc4cTExOCAwIDIyNSAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI1dC00NS41IC0yMjV0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNSAtNDUuNXQtMjI1IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNXQ0NS41IDIyNXQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNSA0NS41ek02NzUgOTAwaC0xNTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di0yNzVoLTEzN3EtMjEgMCAtMjYgLTExLjUgdDggLTI3LjVsMjIzIC0yNzVxMTMgLTE2IDMyIC0xNnQzMiAxNmwyMjMgMjc1cTEzIDE2IDggMjcuNXQtMjYgMTEuNWgtMTM3djI3NXEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzNTsiIGQ9Ik02MDAgMTE3NnExMTYgMCAyMjIuNSAtNDZ0MTg0IC0xMjMuNXQxMjMuNSAtMTg0dDQ2IC0yMjIuNXQtNDYgLTIyMi41dC0xMjMuNSAtMTg0dC0xODQgLTEyMy41dC0yMjIuNSAtNDZ0LTIyMi41IDQ2dC0xODQgMTIzLjV0LTEyMy41IDE4NHQtNDYgMjIyLjV0NDYgMjIyLjV0MTIzLjUgMTg0dDE4NCAxMjMuNXQyMjIuNSA0NnpNNjI3IDExMDFxLTE1IC0xMiAtMzYuNSAtMjAuNXQtMzUuNSAtMTJ0LTQzIC04dC0zOSAtNi41IHEtMTUgLTMgLTQ1LjUgMHQtNDUuNSAtMnEtMjAgLTcgLTUxLjUgLTI2LjV0LTM0LjUgLTM0LjVxLTMgLTExIDYuNSAtMjIuNXQ4LjUgLTE4LjVxLTMgLTM0IC0yNy41IC05MXQtMjkuNSAtNzlxLTkgLTM0IDUgLTkzdDggLTg3cTAgLTkgMTcgLTQ0LjV0MTYgLTU5LjVxMTIgMCAyMyAtNXQyMy41IC0xNXQxOS41IC0xNHExNiAtOCAzMyAtMTV0NDAuNSAtMTV0MzQuNSAtMTJxMjEgLTkgNTIuNSAtMzJ0NjAgLTM4dDU3LjUgLTExIHE3IC0xNSAtMyAtMzR0LTIyLjUgLTQwdC05LjUgLTM4cTEzIC0yMSAyMyAtMzQuNXQyNy41IC0yNy41dDM2LjUgLTE4cTAgLTcgLTMuNSAtMTZ0LTMuNSAtMTR0NSAtMTdxMTA0IC0yIDIyMSAxMTJxMzAgMjkgNDYuNSA0N3QzNC41IDQ5dDIxIDYzcS0xMyA4IC0zNyA4LjV0LTM2IDcuNXEtMTUgNyAtNDkuNSAxNXQtNTEuNSAxOXEtMTggMCAtNDEgLTAuNXQtNDMgLTEuNXQtNDIgLTYuNXQtMzggLTE2LjVxLTUxIC0zNSAtNjYgLTEyIHEtNCAxIC0zLjUgMjUuNXQwLjUgMjUuNXEtNiAxMyAtMjYuNSAxNy41dC0yNC41IDYuNXExIDE1IC0wLjUgMzAuNXQtNyAyOHQtMTguNSAxMS41dC0zMSAtMjFxLTIzIC0yNSAtNDIgNHEtMTkgMjggLTggNThxNiAxNiAyMiAyMnE2IC0xIDI2IC0xLjV0MzMuNSAtNHQxOS41IC0xMy41cTcgLTEyIDE4IC0yNHQyMS41IC0yMC41dDIwIC0xNXQxNS41IC0xMC41bDUgLTNxMiAxMiA3LjUgMzAuNXQ4IDM0LjV0LTAuNSAzMnEtMyAxOCAzLjUgMjkgdDE4IDIyLjV0MTUuNSAyNC41cTYgMTQgMTAuNSAzNXQ4IDMxdDE1LjUgMjIuNXQzNCAyMi41cS02IDE4IDEwIDM2cTggMCAyNCAtMS41dDI0LjUgLTEuNXQyMCA0LjV0MjAuNSAxNS41cS0xMCAyMyAtMzEgNDIuNXQtMzcuNSAyOS41dC00OSAyN3QtNDMuNSAyM3EwIDEgMiA4dDMgMTEuNXQxLjUgMTAuNXQtMSA5LjV0LTQuNSA0LjVxMzEgLTEzIDU4LjUgLTE0LjV0MzguNSAyLjVsMTIgNXE1IDI4IC05LjUgNDZ0LTM2LjUgMjR0LTUwIDE1IHQtNDEgMjBxLTE4IC00IC0zNyAwek02MTMgOTk0cTAgLTE3IDggLTQydDE3IC00NXQ5IC0yM3EtOCAxIC0zOS41IDUuNXQtNTIuNSAxMHQtMzcgMTYuNXEzIDExIDE2IDI5LjV0MTYgMjUuNXExMCAtMTAgMTkgLTEwdDE0IDZ0MTMuNSAxNC41dDE2LjUgMTIuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTM2OyIgZD0iTTc1NiAxMTU3cTE2NCA5MiAzMDYgLTlsLTI1OSAtMTM4bDE0NSAtMjMybDI1MSAxMjZxNiAtODkgLTM0IC0xNTYuNXQtMTE3IC0xMTAuNXEtNjAgLTM0IC0xMjcgLTM5LjV0LTEyNiAxNi41bC01OTYgLTU5NnEtMTUgLTE2IC0zNi41IC0xNnQtMzYuNSAxNmwtMTExIDExMHEtMTUgMTUgLTE1IDM2LjV0MTUgMzcuNWw2MDAgNTk5cS0zNCAxMDEgNS41IDIwMS41dDEzNS41IDE1NC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMzc7IiBob3Jpei1hZHYteD0iMTIyMCIgZD0iTTEwMCAxMTk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNMTEwMCAxMDk2aC0yMDB2LTEwMGgyMDB2MTAwek0xMDAgNzk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMCBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djEwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTExMDAgNjk2aC01MDB2LTEwMGg1MDB2MTAwek0xMDAgMzk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNMTEwMCAyOTZoLTMwMHYtMTAwaDMwMHYxMDB6ICIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMzg7IiBkPSJNMTUwIDEyMDBoOTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41dC0xNC41IC0zNS41dC0zNS41IC0xNC41aC05MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTcwMCA1MDB2LTMwMGwtMjAwIC0yMDB2NTAwbC0zNTAgNTAwaDkwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTM5OyIgZD0iTTUwMCAxMjAwaDIwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtMTAwaDMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNDAwaC01MDB2MTAwaC0yMDB2LTEwMGgtNTAwdjQwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMzAwdjEwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTUwMCAxMTAwdi0xMDBoMjAwdjEwMGgtMjAwek0xMjAwIDQwMHYtMjAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC0xMDAwIHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MjAwaDEyMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0MDsiIGQ9Ik01MCAxMjAwaDMwMHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNWwtOTQgLTk0bDE5OSAtMTk5cTcgLTggNyAtMTh0LTcgLTE4bC0xMDYgLTEwNnEtOCAtNyAtMTggLTd0LTE4IDdsLTE5OSAxOTlsLTk0IC05NHEtMTQgLTE0IC0yNC41IC0xMHQtMTAuNSAyNXYzMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTIwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTk0IDk0IGwtMTk5IC0xOTlxLTggLTcgLTE4IC03dC0xOCA3bC0xMDYgMTA2cS03IDggLTcgMTh0NyAxOGwxOTkgMTk5bC05NCA5NHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXpNMzY0IDQ3MGwxMDYgLTEwNnE3IC04IDcgLTE4dC03IC0xOGwtMTk5IC0xOTlsOTQgLTk0cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTMwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MzAwcTAgMjEgMTAuNSAyNXQyNC41IC0xMGw5NCAtOTRsMTk5IDE5OSBxOCA3IDE4IDd0MTggLTd6TTEwNzEgMjcxbDk0IDk0cTE0IDE0IDI0LjUgMTB0MTAuNSAtMjV2LTMwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0yNSAxMC41dDEwIDI0LjVsOTQgOTRsLTE5OSAxOTlxLTcgOCAtNyAxOHQ3IDE4bDEwNiAxMDZxOCA3IDE4IDd0MTggLTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0MTsiIGQ9Ik01OTYgMTE5MnExMjEgMCAyMzEuNSAtNDcuNXQxOTAgLTEyN3QxMjcgLTE5MHQ0Ny41IC0yMzEuNXQtNDcuNSAtMjMxLjV0LTEyNyAtMTkwLjV0LTE5MCAtMTI3dC0yMzEuNSAtNDd0LTIzMS41IDQ3dC0xOTAuNSAxMjd0LTEyNyAxOTAuNXQtNDcgMjMxLjV0NDcgMjMxLjV0MTI3IDE5MHQxOTAuNSAxMjd0MjMxLjUgNDcuNXpNNTk2IDEwMTBxLTExMiAwIC0yMDcuNSAtNTUuNXQtMTUxIC0xNTF0LTU1LjUgLTIwNy41dDU1LjUgLTIwNy41IHQxNTEgLTE1MXQyMDcuNSAtNTUuNXQyMDcuNSA1NS41dDE1MSAxNTF0NTUuNSAyMDcuNXQtNTUuNSAyMDcuNXQtMTUxIDE1MXQtMjA3LjUgNTUuNXpNNDU0LjUgOTA1cTIyLjUgMCAzOC41IC0xNnQxNiAtMzguNXQtMTYgLTM5dC0zOC41IC0xNi41dC0zOC41IDE2LjV0LTE2IDM5dDE2IDM4LjV0MzguNSAxNnpNNzU0LjUgOTA1cTIyLjUgMCAzOC41IC0xNnQxNiAtMzguNXQtMTYgLTM5dC0zOCAtMTYuNXEtMTQgMCAtMjkgMTBsLTU1IC0xNDUgcTE3IC0yMyAxNyAtNTFxMCAtMzYgLTI1LjUgLTYxLjV0LTYxLjUgLTI1LjV0LTYxLjUgMjUuNXQtMjUuNSA2MS41cTAgMzIgMjAuNSA1Ni41dDUxLjUgMjkuNWwxMjIgMTI2bDEgMXEtOSAxNCAtOSAyOHEwIDIzIDE2IDM5dDM4LjUgMTZ6TTM0NS41IDcwOXEyMi41IDAgMzguNSAtMTZ0MTYgLTM4LjV0LTE2IC0zOC41dC0zOC41IC0xNnQtMzguNSAxNnQtMTYgMzguNXQxNiAzOC41dDM4LjUgMTZ6TTg1NC41IDcwOXEyMi41IDAgMzguNSAtMTYgdDE2IC0zOC41dC0xNiAtMzguNXQtMzguNSAtMTZ0LTM4LjUgMTZ0LTE2IDM4LjV0MTYgMzguNXQzOC41IDE2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDI7IiBkPSJNNTQ2IDE3M2w0NjkgNDcwcTkxIDkxIDk5IDE5MnE3IDk4IC01MiAxNzUuNXQtMTU0IDk0LjVxLTIyIDQgLTQ3IDRxLTM0IDAgLTY2LjUgLTEwdC01Ni41IC0yM3QtNTUuNSAtMzh0LTQ4IC00MS41dC00OC41IC00Ny41cS0zNzYgLTM3NSAtMzkxIC0zOTBxLTMwIC0yNyAtNDUgLTQxLjV0LTM3LjUgLTQxdC0zMiAtNDYuNXQtMTYgLTQ3LjV0LTEuNSAtNTYuNXE5IC02MiA1My41IC05NXQ5OS41IC0zM3E3NCAwIDEyNSA1MWw1NDggNTQ4IHEzNiAzNiAyMCA3NXEtNyAxNiAtMjEuNSAyNnQtMzIuNSAxMHEtMjYgMCAtNTAgLTIzcS0xMyAtMTIgLTM5IC0zOGwtMzQxIC0zMzhxLTE1IC0xNSAtMzUuNSAtMTUuNXQtMzQuNSAxMy41dC0xNCAzNC41dDE0IDM0LjVxMzI3IDMzMyAzNjEgMzY3cTM1IDM1IDY3LjUgNTEuNXQ3OC41IDE2LjVxMTQgMCAyOSAtMXE0NCAtOCA3NC41IC0zNS41dDQzLjUgLTY4LjVxMTQgLTQ3IDIgLTk2LjV0LTQ3IC04NC41cS0xMiAtMTEgLTMyIC0zMiB0LTc5LjUgLTgxdC0xMTQuNSAtMTE1dC0xMjQuNSAtMTIzLjV0LTEyMyAtMTE5LjV0LTk2LjUgLTg5dC01NyAtNDVxLTU2IC0yNyAtMTIwIC0yN3EtNzAgMCAtMTI5IDMydC05MyA4OXEtNDggNzggLTM1IDE3M3Q4MSAxNjNsNTExIDUxMXE3MSA3MiAxMTEgOTZxOTEgNTUgMTk4IDU1cTgwIDAgMTUyIC0zM3E3OCAtMzYgMTI5LjUgLTEwM3Q2Ni41IC0xNTRxMTcgLTkzIC0xMSAtMTgzLjV0LTk0IC0xNTYuNWwtNDgyIC00NzYgcS0xNSAtMTUgLTM2IC0xNnQtMzcgMTR0LTE3LjUgMzR0MTQuNSAzNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTQzOyIgZD0iTTY0OSA5NDlxNDggNjggMTA5LjUgMTA0dDEyMS41IDM4LjV0MTE4LjUgLTIwdDEwMi41IC02NHQ3MSAtMTAwLjV0MjcgLTEyM3EwIC01NyAtMzMuNSAtMTE3LjV0LTk0IC0xMjQuNXQtMTI2LjUgLTEyNy41dC0xNTAgLTE1Mi41dC0xNDYgLTE3NHEtNjIgODUgLTE0NS41IDE3NHQtMTUwIDE1Mi41dC0xMjYuNSAxMjcuNXQtOTMuNSAxMjQuNXQtMzMuNSAxMTcuNXEwIDY0IDI4IDEyM3Q3MyAxMDAuNXQxMDQgNjR0MTE5IDIwIHQxMjAuNSAtMzguNXQxMDQuNSAtMTA0ek04OTYgOTcycS0zMyAwIC02NC41IC0xOXQtNTYuNSAtNDZ0LTQ3LjUgLTUzLjV0LTQzLjUgLTQ1LjV0LTM3LjUgLTE5dC0zNiAxOXQtNDAgNDUuNXQtNDMgNTMuNXQtNTQgNDZ0LTY1LjUgMTlxLTY3IDAgLTEyMi41IC01NS41dC01NS41IC0xMzIuNXEwIC0yMyAxMy41IC01MXQ0NiAtNjV0NTcuNSAtNjN0NzYgLTc1bDIyIC0yMnExNSAtMTQgNDQgLTQ0dDUwLjUgLTUxdDQ2IC00NHQ0MSAtMzV0MjMgLTEyIHQyMy41IDEydDQyLjUgMzZ0NDYgNDR0NTIuNSA1MnQ0NCA0M3E0IDQgMTIgMTNxNDMgNDEgNjMuNSA2MnQ1MiA1NXQ0NiA1NXQyNiA0NnQxMS41IDQ0cTAgNzkgLTUzIDEzMy41dC0xMjAgNTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTQ0OyIgZD0iTTc3Ni41IDEyMTRxOTMuNSAwIDE1OS41IC02NmwxNDEgLTE0MXE2NiAtNjYgNjYgLTE2MHEwIC00MiAtMjggLTk1LjV0LTYyIC04Ny41bC0yOSAtMjlxLTMxIDUzIC03NyA5OWwtMTggMThsOTUgOTVsLTI0NyAyNDhsLTM4OSAtMzg5bDIxMiAtMjEybC0xMDUgLTEwNmwtMTkgMThsLTE0MSAxNDFxLTY2IDY2IC02NiAxNTl0NjYgMTU5bDI4MyAyODNxNjUgNjYgMTU4LjUgNjZ6TTYwMCA3MDZsMTA1IDEwNXExMCAtOCAxOSAtMTdsMTQxIC0xNDEgcTY2IC02NiA2NiAtMTU5dC02NiAtMTU5bC0yODMgLTI4M3EtNjYgLTY2IC0xNTkgLTY2dC0xNTkgNjZsLTE0MSAxNDFxLTY2IDY2IC02NiAxNTkuNXQ2NiAxNTkuNWw1NSA1NXEyOSAtNTUgNzUgLTEwMmwxOCAtMTdsLTk1IC05NWwyNDcgLTI0OGwzODkgMzg5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDU7IiBkPSJNNjAzIDEyMDBxODUgMCAxNjIgLTE1dDEyNyAtMzh0NzkgLTQ4dDI5IC00NnYtOTUzcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC02MDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djk1M3EwIDIxIDMwIDQ2LjV0ODEgNDh0MTI5IDM3LjV0MTYzIDE1ek0zMDAgMTAwMHYtNzAwaDYwMHY3MDBoLTYwMHpNNjAwIDI1NHEtNDMgMCAtNzMuNSAtMzAuNXQtMzAuNSAtNzMuNXQzMC41IC03My41dDczLjUgLTMwLjV0NzMuNSAzMC41IHQzMC41IDczLjV0LTMwLjUgNzMuNXQtNzMuNSAzMC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDY7IiBkPSJNOTAyIDExODVsMjgzIC0yODJxMTUgLTE1IDE1IC0zNnQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNXQtMzUgMTVsLTM2IDM1bC0yNzkgLTI2N3YtMzAwbC0yMTIgMjEwbC0zMDggLTMwN2wtMjgwIC0yMDNsMjAzIDI4MGwzMDcgMzA4bC0yMTAgMjEyaDMwMGwyNjcgMjc5bC0zNSAzNnEtMTUgMTQgLTE1IDM1dDE0LjUgMzUuNXQzNS41IDE0LjV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDg7IiBkPSJNNzAwIDEyNDh2LTc4cTM4IC01IDcyLjUgLTE0LjV0NzUuNSAtMzEuNXQ3MSAtNTMuNXQ1MiAtODR0MjQgLTExOC41aC0xNTlxLTQgMzYgLTEwLjUgNTl0LTIxIDQ1dC00MCAzNS41dC02NC41IDIwLjV2LTMwN2w2NCAtMTNxMzQgLTcgNjQgLTE2LjV0NzAgLTMydDY3LjUgLTUyLjV0NDcuNSAtODB0MjAgLTExMnEwIC0xMzkgLTg5IC0yMjR0LTI0NCAtOTd2LTc3aC0xMDB2NzlxLTE1MCAxNiAtMjM3IDEwM3EtNDAgNDAgLTUyLjUgOTMuNSB0LTE1LjUgMTM5LjVoMTM5cTUgLTc3IDQ4LjUgLTEyNnQxMTcuNSAtNjV2MzM1bC0yNyA4cS00NiAxNCAtNzkgMjYuNXQtNzIgMzZ0LTYzIDUydC00MCA3Mi41dC0xNiA5OHEwIDcwIDI1IDEyNnQ2Ny41IDkydDk0LjUgNTd0MTEwIDI3djc3aDEwMHpNNjAwIDc1NHYyNzRxLTI5IC00IC01MCAtMTF0LTQyIC0yMS41dC0zMS41IC00MS41dC0xMC41IC02NXEwIC0yOSA3IC01MC41dDE2LjUgLTM0dDI4LjUgLTIyLjV0MzEuNSAtMTR0MzcuNSAtMTAgcTkgLTMgMTMgLTR6TTcwMCA1NDd2LTMxMHEyMiAyIDQyLjUgNi41dDQ1IDE1LjV0NDEuNSAyN3QyOSA0MnQxMiA1OS41dC0xMi41IDU5LjV0LTM4IDQ0LjV0LTUzIDMxdC02Ni41IDI0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0OTsiIGQ9Ik01NjEgMTE5N3E4NCAwIDE2MC41IC00MHQxMjMuNSAtMTA5LjV0NDcgLTE0Ny41aC0xNTNxMCA0MCAtMTkuNSA3MS41dC00OS41IDQ4LjV0LTU5LjUgMjZ0LTU1LjUgOXEtMzcgMCAtNzkgLTE0LjV0LTYyIC0zNS41cS00MSAtNDQgLTQxIC0xMDFxMCAtMjYgMTMuNSAtNjN0MjYuNSAtNjF0MzcgLTY2cTYgLTkgOSAtMTRoMjQxdi0xMDBoLTE5N3E4IC01MCAtMi41IC0xMTV0LTMxLjUgLTk1cS00NSAtNjIgLTk5IC0xMTIgcTM0IDEwIDgzIDE3LjV0NzEgNy41cTMyIDEgMTAyIC0xNnQxMDQgLTE3cTgzIDAgMTM2IDMwbDUwIC0xNDdxLTMxIC0xOSAtNTggLTMwLjV0LTU1IC0xNS41dC00MiAtNC41dC00NiAtMC41cS0yMyAwIC03NiAxN3QtMTExIDMyLjV0LTk2IDExLjVxLTM5IC0zIC04MiAtMTZ0LTY3IC0yNWwtMjMgLTExbC01NSAxNDVxNCAzIDE2IDExdDE1LjUgMTAuNXQxMyA5dDE1LjUgMTJ0MTQuNSAxNHQxNy41IDE4LjVxNDggNTUgNTQgMTI2LjUgdC0zMCAxNDIuNWgtMjIxdjEwMGgxNjZxLTIzIDQ3IC00NCAxMDRxLTcgMjAgLTEyIDQxLjV0LTYgNTUuNXQ2IDY2LjV0MjkuNSA3MC41dDU4LjUgNzFxOTcgODggMjYzIDg4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTA7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTkzNSAxMTg0bDIzMCAtMjQ5cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTE1MHYtOTAwaC0yMDB2OTAwaC0xNTBxLTIxIDAgLTI1IDEwLjV0MTAgMjQuNWwyMzAgMjQ5cTE0IDE1IDM1IDE1dDM1IC0xNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTUxOyIgZD0iTTEwMDAgNzAwaC0xMDB2MTAwaC0xMDB2LTEwMGgtMTAwdjUwMGgzMDB2LTUwMHpNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTgwMSAxMTAwdi0yMDBoMTAwdjIwMGgtMTAwek0xMDAwIDM1MGwtMjAwIC0yNTBoMjAwdi0xMDBoLTMwMHYxNTBsMjAwIDI1MGgtMjAwdjEwMGgzMDB2LTE1MHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE1MjsiIGQ9Ik00MDAgMzAwaDE1MHEyMSAwIDI1IC0xMXQtMTAgLTI1bC0yMzAgLTI1MHEtMTQgLTE1IC0zNSAtMTV0LTM1IDE1bC0yMzAgMjUwcS0xNCAxNCAtMTAgMjV0MjUgMTFoMTUwdjkwMGgyMDB2LTkwMHpNMTAwMCAxMDUwbC0yMDAgLTI1MGgyMDB2LTEwMGgtMzAwdjE1MGwyMDAgMjUwaC0yMDB2MTAwaDMwMHYtMTUwek0xMDAwIDBoLTEwMHYxMDBoLTEwMHYtMTAwaC0xMDB2NTAwaDMwMHYtNTAwek04MDEgNDAwdi0yMDBoMTAwdjIwMGgtMTAweiAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTUzOyIgZD0iTTQwMCAzMDBoMTUwcTIxIDAgMjUgLTExdC0xMCAtMjVsLTIzMCAtMjUwcS0xNCAtMTUgLTM1IC0xNXQtMzUgMTVsLTIzMCAyNTBxLTE0IDE0IC0xMCAyNXQyNSAxMWgxNTB2OTAwaDIwMHYtOTAwek0xMDAwIDcwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNMTEwMCAwaC0xMDB2MTAwaC0yMDB2NDAwaDMwMHYtNTAwek05MDEgNDAwdi0yMDBoMTAwdjIwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTQ7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTExMDAgNzAwaC0xMDB2MTAwaC0yMDB2NDAwaDMwMHYtNTAwek05MDEgMTEwMHYtMjAwaDEwMHYyMDBoLTEwMHpNMTAwMCAwaC0xMDB2NDAwaC0xMDB2MTAwaDIwMHYtNTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTU7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTkwMCAxMDAwaC0yMDB2MjAwaDIwMHYtMjAwek0xMDAwIDcwMGgtMzAwdjIwMGgzMDB2LTIwMHpNMTEwMCA0MDBoLTQwMHYyMDBoNDAwdi0yMDB6TTEyMDAgMTAwaC01MDB2MjAwaDUwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTY7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTEyMDAgMTAwMGgtNTAwdjIwMGg1MDB2LTIwMHpNMTEwMCA3MDBoLTQwMHYyMDBoNDAwdi0yMDB6TTEwMDAgNDAwaC0zMDB2MjAwaDMwMHYtMjAwek05MDAgMTAwaC0yMDB2MjAwaDIwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTc7IiBkPSJNMzUwIDExMDBoNDAwcTE2MiAwIDI1NiAtOTMuNXQ5NCAtMjU2LjV2LTQwMHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNDAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY0MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41ek04MDAgOTAwaC01MDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNSB2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTg7IiBkPSJNMzUwIDExMDBoNDAwcTE2NSAwIDI1Ny41IC05Mi41dDkyLjUgLTI1Ny41di00MDBxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTYzIDAgLTI1Ni41IDkyLjV0LTkzLjUgMjU3LjV2NDAwcTAgMTYzIDk0IDI1Ni41dDI1NiA5My41ek04MDAgOTAwaC01MDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNSB2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41ek00NDAgNzcwbDI1MyAtMTkwcTE3IC0xMiAxNyAtMzB0LTE3IC0zMGwtMjUzIC0xOTBxLTE2IC0xMiAtMjggLTYuNXQtMTIgMjYuNXY0MDBxMCAyMSAxMiAyNi41dDI4IC02LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE1OTsiIGQ9Ik0zNTAgMTEwMGg0MDBxMTYzIDAgMjU2LjUgLTk0dDkzLjUgLTI1NnYtNDAwcTAgLTE2NSAtOTIuNSAtMjU3LjV0LTI1Ny41IC05Mi41aC00MDBxLTE2NSAwIC0yNTcuNSA5Mi41dC05Mi41IDI1Ny41djQwMHEwIDE2MyA5Mi41IDI1Ni41dDI1Ny41IDkzLjV6TTgwMCA5MDBoLTUwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNTAwcTAgLTQxIDI5LjUgLTcwLjV0NzAuNSAtMjkuNWg1MDBxNDEgMCA3MC41IDI5LjV0MjkuNSA3MC41IHY1MDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjV6TTM1MCA3MDBoNDAwcTIxIDAgMjYuNSAtMTJ0LTYuNSAtMjhsLTE5MCAtMjUzcS0xMiAtMTcgLTMwIC0xN3QtMzAgMTdsLTE5MCAyNTNxLTEyIDE2IC02LjUgMjh0MjYuNSAxMnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTYwOyIgZD0iTTM1MCAxMTAwaDQwMHExNjUgMCAyNTcuNSAtOTIuNXQ5Mi41IC0yNTcuNXYtNDAwcTAgLTE2MyAtOTIuNSAtMjU2LjV0LTI1Ny41IC05My41aC00MDBxLTE2MyAwIC0yNTYuNSA5NHQtOTMuNSAyNTZ2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXpNODAwIDkwMGgtNTAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di01MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDUwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjUgdjUwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNNTgwIDY5M2wxOTAgLTI1M3ExMiAtMTYgNi41IC0yOHQtMjYuNSAtMTJoLTQwMHEtMjEgMCAtMjYuNSAxMnQ2LjUgMjhsMTkwIDI1M3ExMiAxNyAzMCAxN3QzMCAtMTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE2MTsiIGQ9Ik01NTAgMTEwMGg0MDBxMTY1IDAgMjU3LjUgLTkyLjV0OTIuNSAtMjU3LjV2LTQwMHEwIC0xNjUgLTkyLjUgLTI1Ny41dC0yNTcuNSAtOTIuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ1MHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41aC00NTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zMzggODY3bDMyNCAtMjg0cTE2IC0xNCAxNiAtMzN0LTE2IC0zM2wtMzI0IC0yODRxLTE2IC0xNCAtMjcgLTl0LTExIDI2djE1MGgtMjUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDI1MHYxNTBxMCAyMSAxMSAyNnQyNyAtOXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTYyOyIgZD0iTTc5MyAxMTgybDkgLTlxOCAtMTAgNSAtMjdxLTMgLTExIC03OSAtMjI1LjV0LTc4IC0yMjEuNWwzMDAgMXEyNCAwIDMyLjUgLTE3LjV0LTUuNSAtMzUuNXEtMSAwIC0xMzMuNSAtMTU1dC0yNjcgLTMxMi41dC0xMzguNSAtMTYyLjVxLTEyIC0xNSAtMjYgLTE1aC05bC05IDhxLTkgMTEgLTQgMzJxMiA5IDQyIDEyMy41dDc5IDIyNC41bDM5IDExMGgtMzAycS0yMyAwIC0zMSAxOXEtMTAgMjEgNiA0MXE3NSA4NiAyMDkuNSAyMzcuNSB0MjI4IDI1N3Q5OC41IDExMS41cTkgMTYgMjUgMTZoOXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTYzOyIgZD0iTTM1MCAxMTAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00NTBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNDUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwIHEwIDE2NSA5Mi41IDI1Ny41dDI1Ny41IDkyLjV6TTkzOCA4NjdsMzI0IC0yODRxMTYgLTE0IDE2IC0zM3QtMTYgLTMzbC0zMjQgLTI4NHEtMTYgLTE0IC0yNyAtOXQtMTEgMjZ2MTUwaC0yNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMjUwdjE1MHEwIDIxIDExIDI2dDI3IC05eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjQ7IiBkPSJNNzUwIDEyMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTEwLjUgLTI1dC0yNC41IDEwbC0xMDkgMTA5bC0zMTIgLTMxMnEtMTUgLTE1IC0zNS41IC0xNXQtMzUuNSAxNWwtMTQxIDE0MXEtMTUgMTUgLTE1IDM1LjV0MTUgMzUuNWwzMTIgMzEybC0xMDkgMTA5cS0xNCAxNCAtMTAgMjQuNXQyNSAxMC41ek00NTYgOTAwaC0xNTZxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMCBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDUwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2MTQ4bDIwMCAyMDB2LTI5OHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNDAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY0MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41aDMwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTY1OyIgZD0iTTYwMCAxMTg2cTExOSAwIDIyNy41IC00Ni41dDE4NyAtMTI1dDEyNSAtMTg3dDQ2LjUgLTIyNy41dC00Ni41IC0yMjcuNXQtMTI1IC0xODd0LTE4NyAtMTI1dC0yMjcuNSAtNDYuNXQtMjI3LjUgNDYuNXQtMTg3IDEyNXQtMTI1IDE4N3QtNDYuNSAyMjcuNXQ0Ni41IDIyNy41dDEyNSAxODd0MTg3IDEyNXQyMjcuNSA0Ni41ek02MDAgMTAyMnEtMTE1IDAgLTIxMiAtNTYuNXQtMTUzLjUgLTE1My41dC01Ni41IC0yMTJ0NTYuNSAtMjEyIHQxNTMuNSAtMTUzLjV0MjEyIC01Ni41dDIxMiA1Ni41dDE1My41IDE1My41dDU2LjUgMjEydC01Ni41IDIxMnQtMTUzLjUgMTUzLjV0LTIxMiA1Ni41ek02MDAgNzk0cTgwIDAgMTM3IC01N3Q1NyAtMTM3dC01NyAtMTM3dC0xMzcgLTU3dC0xMzcgNTd0LTU3IDEzN3Q1NyAxMzd0MTM3IDU3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjY7IiBkPSJNNDUwIDEyMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0zNTBoMjQ1cTIwIDAgMjUgLTExdC05IC0yNmwtMzgzIC00MjZxLTE0IC0xNSAtMzMuNSAtMTV0LTMyLjUgMTVsLTM3OSA0MjZxLTEzIDE1IC04LjUgMjZ0MjUuNSAxMWgyNTB2MzUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTI1MGgtMTEwMHYyNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiBNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE2NzsiIGQ9Ik01ODMgMTE4MmwzNzggLTQzNXExNCAtMTUgOSAtMzF0LTI2IC0xNmgtMjQ0di0yNTBxMCAtMjAgLTE3IC0zNXQtMzkgLTE1aC0yMDBxLTIwIDAgLTMyIDE0LjV0LTEyIDM1LjV2MjUwaC0yNTBxLTIwIDAgLTI1LjUgMTYuNXQ4LjUgMzEuNWwzODMgNDMxcTE0IDE2IDMzLjUgMTd0MzMuNSAtMTR6TTUwIDMwMGgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXogTTkwMCAyMDB2LTUwaDEwMHY1MGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjg7IiBkPSJNMzk2IDcyM2wzNjkgMzY5cTcgNyAxNy41IDd0MTcuNSAtN2wxMzkgLTEzOXE3IC04IDcgLTE4LjV0LTcgLTE3LjVsLTUyNSAtNTI1cS03IC04IC0xNy41IC04dC0xNy41IDhsLTI5MiAyOTFxLTcgOCAtNyAxOHQ3IDE4bDEzOSAxMzlxOCA3IDE4LjUgN3QxNy41IC03ek01MCAzMDBoMTAwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjUwaC0xMTAwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTkwMCAyMDB2LTUwaDEwMHY1MCBoLTEwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTY5OyIgZD0iTTEzNSAxMDIzbDE0MiAxNDJxMTQgMTQgMzUgMTR0MzUgLTE0bDc3IC03N2wtMjEyIC0yMTJsLTc3IDc2cS0xNCAxNSAtMTQgMzZ0MTQgMzV6TTY1NSA4NTVsMjEwIDIxMHExNCAxNCAyNC41IDEwdDEwLjUgLTI1bC0yIC01OTlxLTEgLTIwIC0xNS41IC0zNXQtMzUuNSAtMTVsLTU5NyAtMXEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIwOCAyMDhsLTE1NCAxNTVsMjEyIDIxMnpNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjUgdi0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3MDsiIGQ9Ik0zNTAgMTIwMGw1OTkgLTJxMjAgLTEgMzUgLTE1LjV0MTUgLTM1LjVsMSAtNTk3cTAgLTIxIC0xMC41IC0yNXQtMjQuNSAxMGwtMjA4IDIwOGwtMTU1IC0xNTRsLTIxMiAyMTJsMTU1IDE1NGwtMjEwIDIxMHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXpNNTI0IDUxMmwtNzYgLTc3cS0xNSAtMTQgLTM2IC0xNHQtMzUgMTRsLTE0MiAxNDJxLTE0IDE0IC0xNCAzNXQxNCAzNWw3NyA3N3pNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41IHQxNC41IC0zNS41di0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3MTsiIGQ9Ik0xMjAwIDEwM2wtNDgzIDI3NmwtMzE0IC0zOTl2NDIzaC0zOTlsMTE5NiA3OTZ2LTEwOTZ6TTQ4MyA0MjR2LTIzMGw2ODMgOTUzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzI7IiBkPSJNMTEwMCAxMDAwdi04NTBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTE1MHY0MDBoLTcwMHYtNDAwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMDBxMCAyMCAxNC41IDM1dDM1LjUgMTVoMjUwdi0zMDBoNTAwdjMwMGgxMDB6TTcwMCAxMDAwaC0xMDB2MjAwaDEwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzM7IiBkPSJNMTEwMCAxMDAwbC0yIC0xNDlsLTI5OSAtMjk5bC05NSA5NXEtOSA5IC0yMS41IDl0LTIxLjUgLTlsLTE0OSAtMTQ3aC0zMTJ2LTQwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjAgMTQuNSAzNXQzNS41IDE1aDI1MHYtMzAwaDUwMHYzMDBoMTAwek03MDAgMTAwMGgtMTAwdjIwMGgxMDB2LTIwMHpNMTEzMiA2MzhsMTA2IC0xMDZxNyAtNyA3IC0xNy41dC03IC0xNy41bC00MjAgLTQyMXEtOCAtNyAtMTggLTcgdC0xOCA3bC0yMDIgMjAzcS04IDcgLTggMTcuNXQ4IDE3LjVsMTA2IDEwNnE3IDggMTcuNSA4dDE3LjUgLThsNzkgLTc5bDI5NyAyOTdxNyA3IDE3LjUgN3QxNy41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzQ7IiBkPSJNMTEwMCAxMDAwdi0yNjlsLTEwMyAtMTAzbC0xMzQgMTM0cS0xNSAxNSAtMzMuNSAxNi41dC0zNC41IC0xMi41bC0yNjYgLTI2NmgtMzI5di00MDBoLTE1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwMHEwIDIwIDE0LjUgMzV0MzUuNSAxNWgyNTB2LTMwMGg1MDB2MzAwaDEwMHpNNzAwIDEwMDBoLTEwMHYyMDBoMTAwdi0yMDB6TTEyMDIgNTcybDcwIC03MHExNSAtMTUgMTUgLTM1LjV0LTE1IC0zNS41bC0xMzEgLTEzMSBsMTMxIC0xMzFxMTUgLTE1IDE1IC0zNS41dC0xNSAtMzUuNWwtNzAgLTcwcS0xNSAtMTUgLTM1LjUgLTE1dC0zNS41IDE1bC0xMzEgMTMxbC0xMzEgLTEzMXEtMTUgLTE1IC0zNS41IC0xNXQtMzUuNSAxNWwtNzAgNzBxLTE1IDE1IC0xNSAzNS41dDE1IDM1LjVsMTMxIDEzMWwtMTMxIDEzMXEtMTUgMTUgLTE1IDM1LjV0MTUgMzUuNWw3MCA3MHExNSAxNSAzNS41IDE1dDM1LjUgLTE1bDEzMSAtMTMxbDEzMSAxMzFxMTUgMTUgMzUuNSAxNSB0MzUuNSAtMTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NTsiIGQ9Ik0xMTAwIDEwMDB2LTMwMGgtMzUwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xNTBoLTUwMHYtNDAwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMDBxMCAyMCAxNC41IDM1dDM1LjUgMTVoMjUwdi0zMDBoNTAwdjMwMGgxMDB6TTcwMCAxMDAwaC0xMDB2MjAwaDEwMHYtMjAwek04NTAgNjAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjUwaDE1MHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNSBsLTIzMCAtMjMwcS0xNCAtMTQgLTM1IC0xNHQtMzUgMTRsLTIzMCAyMzBxLTE0IDE0IC0xMCAyNC41dDI1IDEwLjVoMTUwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NjsiIGQ9Ik0xMTAwIDEwMDB2LTQwMGwtMTY1IDE2NXEtMTQgMTUgLTM1IDE1dC0zNSAtMTVsLTI2MyAtMjY1aC00MDJ2LTQwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjAgMTQuNSAzNXQzNS41IDE1aDI1MHYtMzAwaDUwMHYzMDBoMTAwek03MDAgMTAwMGgtMTAwdjIwMGgxMDB2LTIwMHpNOTM1IDU2NWwyMzAgLTIyOXExNCAtMTUgMTAgLTI1LjV0LTI1IC0xMC41aC0xNTB2LTI1MHEwIC0yMCAtMTQuNSAtMzUgdC0zNS41IC0xNWgtMTAwcS0yMSAwIC0zNS41IDE1dC0xNC41IDM1djI1MGgtMTUwcS0yMSAwIC0yNSAxMC41dDEwIDI1LjVsMjMwIDIyOXExNCAxNSAzNSAxNXQzNSAtMTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NzsiIGQ9Ik01MCAxMTAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTE1MGgtMTIwMHYxNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMjAwIDgwMHYtNTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1NTBoMTIwMHpNMTAwIDUwMHYtMjAwaDQwMHYyMDBoLTQwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTc4OyIgZD0iTTkzNSAxMTY1bDI0OCAtMjMwcTE0IC0xNCAxNCAtMzV0LTE0IC0zNWwtMjQ4IC0yMzBxLTE0IC0xNCAtMjQuNSAtMTB0LTEwLjUgMjV2MTUwaC00MDB2MjAwaDQwMHYxNTBxMCAyMSAxMC41IDI1dDI0LjUgLTEwek0yMDAgODAwaC01MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHYtMjAwek00MDAgODAwaC0xMDB2MjAwaDEwMHYtMjAwek0xOCA0MzVsMjQ3IDIzMCBxMTQgMTQgMjQuNSAxMHQxMC41IC0yNXYtMTUwaDQwMHYtMjAwaC00MDB2LTE1MHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTI0NyAyMzBxLTE1IDE0IC0xNSAzNXQxNSAzNXpNOTAwIDMwMGgtMTAwdjIwMGgxMDB2LTIwMHpNMTAwMCA1MDBoNTFxMjAgMCAzNC41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzQuNSAtMTQuNWgtNTF2MjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzk7IiBkPSJNODYyIDEwNzNsMjc2IDExNnEyNSAxOCA0My41IDh0MTguNSAtNDF2LTExMDZxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2Mzk3cS00IDEgLTExIDV0LTI0IDE3LjV0LTMwIDI5dC0yNCA0MnQtMTEgNTYuNXYzNTlxMCAzMSAxOC41IDY1dDQzLjUgNTJ6TTU1MCAxMjAwcTIyIDAgMzQuNSAtMTIuNXQxNC41IC0yNC41bDEgLTEzdi00NTBxMCAtMjggLTEwLjUgLTU5LjUgdC0yNSAtNTZ0LTI5IC00NXQtMjUuNSAtMzEuNWwtMTAgLTExdi00NDdxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDQ3cS00IDQgLTExIDExLjV0LTI0IDMwLjV0LTMwIDQ2dC0yNCA1NXQtMTEgNjB2NDUwcTAgMiAwLjUgNS41dDQgMTJ0OC41IDE1dDE0LjUgMTJ0MjIuNSA1LjVxMjAgMCAzMi41IC0xMi41dDE0LjUgLTI0LjVsMyAtMTN2LTM1MGgxMDB2MzUwdjUuNXQyLjUgMTIgdDcgMTV0MTUgMTJ0MjUuNSA1LjVxMjMgMCAzNS41IC0xMi41dDEzLjUgLTI0LjVsMSAtMTN2LTM1MGgxMDB2MzUwcTAgMiAwLjUgNS41dDMgMTJ0NyAxNXQxNSAxMnQyNC41IDUuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTgwOyIgZD0iTTEyMDAgMTEwMHYtNTZxLTQgMCAtMTEgLTAuNXQtMjQgLTN0LTMwIC03LjV0LTI0IC0xNXQtMTEgLTI0di04ODhxMCAtMjIgMjUgLTM0LjV0NTAgLTEzLjVsMjUgLTJ2LTU2aC00MDB2NTZxNzUgMCA4Ny41IDYuNXQxMi41IDQzLjV2Mzk0aC01MDB2LTM5NHEwIC0zNyAxMi41IC00My41dDg3LjUgLTYuNXYtNTZoLTQwMHY1NnE0IDAgMTEgMC41dDI0IDN0MzAgNy41dDI0IDE1dDExIDI0djg4OHEwIDIyIC0yNSAzNC41dC01MCAxMy41IGwtMjUgMnY1Nmg0MDB2LTU2cS03NSAwIC04Ny41IC02LjV0LTEyLjUgLTQzLjV2LTM5NGg1MDB2Mzk0cTAgMzcgLTEyLjUgNDMuNXQtODcuNSA2LjV2NTZoNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODE7IiBkPSJNNjc1IDEwMDBoMzc1cTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoLTEwNWwtMjk1IC05OHY5OGwtMjAwIDIwMGgtNDAwbDEwMCAxMDBoMzc1ek0xMDAgOTAwaDMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNTAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC0zMDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djUwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTEwMCA4MDB2LTIwMGgzMDB2MjAwIGgtMzAwek0xMTAwIDUzNWwtNDAwIC0xMzN2MTYzbDQwMCAxMzN2LTE2M3pNMTAwIDUwMHYtMjAwaDMwMHYyMDBoLTMwMHpNMTEwMCAzOTh2LTI0OHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzc1bC0xMDAgLTEwMGgtMzc1bC0xMDAgMTAwaDQwMGwyMDAgMjAwaDEwNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTgyOyIgZD0iTTE3IDEwMDdsMTYyIDE2MnExNyAxNyA0MCAxNHQzNyAtMjJsMTM5IC0xOTRxMTQgLTIwIDExIC00NC41dC0yMCAtNDEuNWwtMTE5IC0xMThxMTAyIC0xNDIgMjI4IC0yNjh0MjY3IC0yMjdsMTE5IDExOHExNyAxNyA0Mi41IDE5dDQ0LjUgLTEybDE5MiAtMTM2cTE5IC0xNCAyMi41IC0zNy41dC0xMy41IC00MC41bC0xNjMgLTE2MnEtMyAtMSAtOS41IC0xdC0yOS41IDJ0LTQ3LjUgNnQtNjIuNSAxNC41dC03Ny41IDI2LjV0LTkwIDQyLjUgdC0xMDEuNSA2MHQtMTExIDgzdC0xMTkgMTA4LjVxLTc0IDc0IC0xMzMuNSAxNTAuNXQtOTQuNSAxMzguNXQtNjAgMTE5LjV0LTM0LjUgMTAwdC0xNSA3NC41dC00LjUgNDh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4MzsiIGQ9Ik02MDAgMTEwMHE5MiAwIDE3NSAtMTAuNXQxNDEuNSAtMjd0MTA4LjUgLTM2LjV0ODEuNSAtNDB0NTMuNSAtMzd0MzEgLTI3bDkgLTEwdi0yMDBxMCAtMjEgLTE0LjUgLTMzdC0zNC41IC05bC0yMDIgMzRxLTIwIDMgLTM0LjUgMjB0LTE0LjUgMzh2MTQ2cS0xNDEgMjQgLTMwMCAyNHQtMzAwIC0yNHYtMTQ2cTAgLTIxIC0xNC41IC0zOHQtMzQuNSAtMjBsLTIwMiAtMzRxLTIwIC0zIC0zNC41IDl0LTE0LjUgMzN2MjAwcTMgNCA5LjUgMTAuNSB0MzEgMjZ0NTQgMzcuNXQ4MC41IDM5LjV0MTA5IDM3LjV0MTQxIDI2LjV0MTc1IDEwLjV6TTYwMCA3OTVxNTYgMCA5NyAtOS41dDYwIC0yMy41dDMwIC0yOHQxMiAtMjRsMSAtMTB2LTUwbDM2NSAtMzAzcTE0IC0xNSAyNC41IC00MHQxMC41IC00NXYtMjEycTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMTJxMCAyMCAxMC41IDQ1dDI0LjUgNDBsMzY1IDMwM3Y1MCBxMCA0IDEgMTAuNXQxMiAyM3QzMCAyOXQ2MCAyMi41dDk3IDEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODQ7IiBkPSJNMTEwMCA3MDBsLTIwMCAtMjAwaC02MDBsLTIwMCAyMDB2NTAwaDIwMHYtMjAwaDIwMHYyMDBoMjAwdi0yMDBoMjAwdjIwMGgyMDB2LTUwMHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEybDEzNyAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNSB0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODU7IiBkPSJNNzAwIDExMDBoLTEwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtMTAwMGgzMDB2MTAwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNMTEwMCA4MDBoLTEwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNzAwaDMwMHY3MDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjV6TTQwMCAwaC0zMDB2NDAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNWgxMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTQwMHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4NjsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDcwMGgtMjAwdi0xMDBoMjAwdi0zMDBoLTMwMHYxMDBoMjAwdjEwMGgtMjAwdjMwMGgzMDB2LTEwMHpNOTAwIDcwMHYtMzAwbC0xMDAgLTEwMGgtMjAwdjUwMGgyMDB6IE03MDAgNzAwdi0zMDBoMTAwdjMwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODc7IiBkPSJNMjAwIDExMDBoNzAwcTEyNCAwIDIxMiAtODh0ODggLTIxMnYtNTAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OGgtNzAwcS0xMjQgMCAtMjEyIDg4dC04OCAyMTJ2NTAwcTAgMTI0IDg4IDIxMnQyMTIgODh6TTEwMCA5MDB2LTcwMGg5MDB2NzAwaC05MDB6TTUwMCAzMDBoLTEwMHYyMDBoLTEwMHYtMjAwaC0xMDB2NTAwaDEwMHYtMjAwaDEwMHYyMDBoMTAwdi01MDB6TTkwMCA3MDB2LTMwMGwtMTAwIC0xMDBoLTIwMHY1MDBoMjAweiBNNzAwIDcwMHYtMzAwaDEwMHYzMDBoLTEwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTg4OyIgZD0iTTIwMCAxMTAwaDcwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTUwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhoLTcwMHEtMTI0IDAgLTIxMiA4OHQtODggMjEydjUwMHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek0xMDAgOTAwdi03MDBoOTAwdjcwMGgtOTAwek01MDAgNzAwaC0yMDB2LTMwMGgyMDB2LTEwMGgtMzAwdjUwMGgzMDB2LTEwMHpNOTAwIDcwMGgtMjAwdi0zMDBoMjAwdi0xMDBoLTMwMHY1MDBoMzAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4OTsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDQwMGwtMzAwIDE1MGwzMDAgMTUwdi0zMDB6TTkwMCA1NTBsLTMwMCAtMTUwdjMwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTkwOyIgZD0iTTIwMCAxMTAwaDcwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTUwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhoLTcwMHEtMTI0IDAgLTIxMiA4OHQtODggMjEydjUwMHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek0xMDAgOTAwdi03MDBoOTAwdjcwMGgtOTAwek05MDAgMzAwaC03MDB2NTAwaDcwMHYtNTAwek04MDAgNzAwaC0xMzBxLTM4IDAgLTY2LjUgLTQzdC0yOC41IC0xMDh0MjcgLTEwN3Q2OCAtNDJoMTMwdjMwMHpNMzAwIDcwMHYtMzAwIGgxMzBxNDEgMCA2OCA0MnQyNyAxMDd0LTI4LjUgMTA4dC02Ni41IDQzaC0xMzB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MTsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDcwMGgtMjAwdi0xMDBoMjAwdi0zMDBoLTMwMHYxMDBoMjAwdjEwMGgtMjAwdjMwMGgzMDB2LTEwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHogTTcwMCAzMDBoLTEwMHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MjsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNMzAwIDcwMGgyMDB2LTQwMGgtMzAwdjUwMGgxMDB2LTEwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNMzAwIDYwMHYtMjAwaDEwMHYyMDBoLTEwMHogTTcwMCAzMDBoLTEwMHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MzsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDUwMGwtMTk5IC0yMDBoLTEwMHY1MGwxOTkgMjAwdjE1MGgtMjAwdjEwMGgzMDB2LTMwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNNzAxIDMwMGgtMTAwIHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5NDsiIGQ9Ik02MDAgMTE5MXExMjAgMCAyMjkuNSAtNDd0MTg4LjUgLTEyNnQxMjYgLTE4OC41dDQ3IC0yMjkuNXQtNDcgLTIyOS41dC0xMjYgLTE4OC41dC0xODguNSAtMTI2dC0yMjkuNSAtNDd0LTIyOS41IDQ3dC0xODguNSAxMjZ0LTEyNiAxODguNXQtNDcgMjI5LjV0NDcgMjI5LjV0MTI2IDE4OC41dDE4OC41IDEyNnQyMjkuNSA0N3pNNjAwIDEwMjFxLTExNCAwIC0yMTEgLTU2LjV0LTE1My41IC0xNTMuNXQtNTYuNSAtMjExdDU2LjUgLTIxMSB0MTUzLjUgLTE1My41dDIxMSAtNTYuNXQyMTEgNTYuNXQxNTMuNSAxNTMuNXQ1Ni41IDIxMXQtNTYuNSAyMTF0LTE1My41IDE1My41dC0yMTEgNTYuNXpNODAwIDcwMGgtMzAwdi0yMDBoMzAwdi0xMDBoLTMwMGwtMTAwIDEwMHYyMDBsMTAwIDEwMGgzMDB2LTEwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTk1OyIgZD0iTTYwMCAxMTkxcTEyMCAwIDIyOS41IC00N3QxODguNSAtMTI2dDEyNiAtMTg4LjV0NDcgLTIyOS41dC00NyAtMjI5LjV0LTEyNiAtMTg4LjV0LTE4OC41IC0xMjZ0LTIyOS41IC00N3QtMjI5LjUgNDd0LTE4OC41IDEyNnQtMTI2IDE4OC41dC00NyAyMjkuNXQ0NyAyMjkuNXQxMjYgMTg4LjV0MTg4LjUgMTI2dDIyOS41IDQ3ek02MDAgMTAyMXEtMTE0IDAgLTIxMSAtNTYuNXQtMTUzLjUgLTE1My41dC01Ni41IC0yMTF0NTYuNSAtMjExIHQxNTMuNSAtMTUzLjV0MjExIC01Ni41dDIxMSA1Ni41dDE1My41IDE1My41dDU2LjUgMjExdC01Ni41IDIxMXQtMTUzLjUgMTUzLjV0LTIxMSA1Ni41ek04MDAgNzAwdi0xMDBsLTUwIC01MGwxMDAgLTEwMHYtNTBoLTEwMGwtMTAwIDEwMGgtMTUwdi0xMDBoLTEwMHY0MDBoMzAwek01MDAgNzAwdi0xMDBoMjAwdjEwMGgtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxOTc7IiBkPSJNNTAzIDEwODlxMTEwIDAgMjAwLjUgLTU5LjV0MTM0LjUgLTE1Ni41cTQ0IDE0IDkwIDE0cTEyMCAwIDIwNSAtODYuNXQ4NSAtMjA3dC04NSAtMjA3dC0yMDUgLTg2LjVoLTEyOHYyNTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTMwMHEtMjEgMCAtMzUuNSAtMTQuNXQtMTQuNSAtMzUuNXYtMjUwaC0yMjJxLTgwIDAgLTEzNiA1Ny41dC01NiAxMzYuNXEwIDY5IDQzIDEyMi41dDEwOCA2Ny41cS0yIDE5IC0yIDM3cTAgMTAwIDQ5IDE4NSB0MTM0IDEzNHQxODUgNDl6TTUyNSA1MDBoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMjc1aDEzN3EyMSAwIDI2IC0xMS41dC04IC0yNy41bC0yMjMgLTI0NHEtMTMgLTE2IC0zMiAtMTZ0LTMyIDE2bC0yMjMgMjQ0cS0xMyAxNiAtOCAyNy41dDI2IDExLjVoMTM3djI3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxOTg7IiBkPSJNNTAyIDEwODlxMTEwIDAgMjAxIC01OS41dDEzNSAtMTU2LjVxNDMgMTUgODkgMTVxMTIxIDAgMjA2IC04Ni41dDg2IC0yMDYuNXEwIC05OSAtNjAgLTE4MXQtMTUwIC0xMTBsLTM3OCAzNjBxLTEzIDE2IC0zMS41IDE2dC0zMS41IC0xNmwtMzgxIC0zNjVoLTlxLTc5IDAgLTEzNS41IDU3LjV0LTU2LjUgMTM2LjVxMCA2OSA0MyAxMjIuNXQxMDggNjcuNXEtMiAxOSAtMiAzOHEwIDEwMCA0OSAxODQuNXQxMzMuNSAxMzR0MTg0LjUgNDkuNXogTTYzMiA0NjdsMjIzIC0yMjhxMTMgLTE2IDggLTI3LjV0LTI2IC0xMS41aC0xMzd2LTI3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djI3NWgtMTM3cS0yMSAwIC0yNiAxMS41dDggMjcuNXExOTkgMjA0IDIyMyAyMjhxMTkgMTkgMzEuNSAxOXQzMi41IC0xOXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTk5OyIgZD0iTTcwMCAxMDB2MTAwaDQwMGwtMjcwIDMwMGgxNzBsLTI3MCAzMDBoMTcwbC0zMDAgMzMzbC0zMDAgLTMzM2gxNzBsLTI3MCAtMzAwaDE3MGwtMjcwIC0zMDBoNDAwdi0xMDBoLTUwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di01MGg0MDB2NTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDA7IiBkPSJNNjAwIDExNzlxOTQgMCAxNjcuNSAtNTYuNXQ5OS41IC0xNDUuNXE4OSAtNiAxNTAuNSAtNzEuNXQ2MS41IC0xNTUuNXEwIC02MSAtMjkuNSAtMTEyLjV0LTc5LjUgLTgyLjVxOSAtMjkgOSAtNTVxMCAtNzQgLTUyLjUgLTEyNi41dC0xMjYuNSAtNTIuNXEtNTUgMCAtMTAwIDMwdi0yNTFxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwaC0zMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41djI1MXEtNDUgLTMwIC0xMDAgLTMwIHEtNzQgMCAtMTI2LjUgNTIuNXQtNTIuNSAxMjYuNXEwIDE4IDQgMzhxLTQ3IDIxIC03NS41IDY1dC0yOC41IDk3cTAgNzQgNTIuNSAxMjYuNXQxMjYuNSA1Mi41cTUgMCAyMyAtMnEwIDIgLTEgMTB0LTEgMTNxMCAxMTYgODEuNSAxOTcuNXQxOTcuNSA4MS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDE7IiBkPSJNMTAxMCAxMDEwcTExMSAtMTExIDE1MC41IC0yNjAuNXQwIC0yOTl0LTE1MC41IC0yNjAuNXEtODMgLTgzIC0xOTEuNSAtMTI2LjV0LTIxOC41IC00My41dC0yMTguNSA0My41dC0xOTEuNSAxMjYuNXEtMTExIDExMSAtMTUwLjUgMjYwLjV0MCAyOTl0MTUwLjUgMjYwLjVxODMgODMgMTkxLjUgMTI2LjV0MjE4LjUgNDMuNXQyMTguNSAtNDMuNXQxOTEuNSAtMTI2LjV6TTQ3NiAxMDY1cS00IDAgLTggLTFxLTEyMSAtMzQgLTIwOS41IC0xMjIuNSB0LTEyMi41IC0yMDkuNXEtNCAtMTIgMi41IC0yM3QxOC41IC0xNGwzNiAtOXEzIC0xIDcgLTFxMjMgMCAyOSAyMnEyNyA5NiA5OCAxNjZxNzAgNzEgMTY2IDk4cTExIDMgMTcuNSAxMy41dDMuNSAyMi41bC05IDM1cS0zIDEzIC0xNCAxOXEtNyA0IC0xNSA0ek01MTIgOTIwcS00IDAgLTkgLTJxLTgwIC0yNCAtMTM4LjUgLTgyLjV0LTgyLjUgLTEzOC41cS00IC0xMyAyIC0yNHQxOSAtMTRsMzQgLTlxNCAtMSA4IC0xcTIyIDAgMjggMjEgcTE4IDU4IDU4LjUgOTguNXQ5Ny41IDU4LjVxMTIgMyAxOCAxMy41dDMgMjEuNWwtOSAzNXEtMyAxMiAtMTQgMTlxLTcgNCAtMTUgNHpNNzE5LjUgNzE5LjVxLTQ5LjUgNDkuNSAtMTE5LjUgNDkuNXQtMTE5LjUgLTQ5LjV0LTQ5LjUgLTExOS41dDQ5LjUgLTExOS41dDExOS41IC00OS41dDExOS41IDQ5LjV0NDkuNSAxMTkuNXQtNDkuNSAxMTkuNXpNODU1IDU1MXEtMjIgMCAtMjggLTIxcS0xOCAtNTggLTU4LjUgLTk4LjV0LTk4LjUgLTU3LjUgcS0xMSAtNCAtMTcgLTE0LjV0LTMgLTIxLjVsOSAtMzVxMyAtMTIgMTQgLTE5cTcgLTQgMTUgLTRxNCAwIDkgMnE4MCAyNCAxMzguNSA4Mi41dDgyLjUgMTM4LjVxNCAxMyAtMi41IDI0dC0xOC41IDE0bC0zNCA5cS00IDEgLTggMXpNMTAwMCA1MTVxLTIzIDAgLTI5IC0yMnEtMjcgLTk2IC05OCAtMTY2cS03MCAtNzEgLTE2NiAtOThxLTExIC0zIC0xNy41IC0xMy41dC0zLjUgLTIyLjVsOSAtMzVxMyAtMTMgMTQgLTE5cTcgLTQgMTUgLTQgcTQgMCA4IDFxMTIxIDM0IDIwOS41IDEyMi41dDEyMi41IDIwOS41cTQgMTIgLTIuNSAyM3QtMTguNSAxNGwtMzYgOXEtMyAxIC03IDF6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwMjsiIGQ9Ik03MDAgODAwaDMwMHYtMzgwaC0xODB2MjAwaC0zNDB2LTIwMGgtMzgwdjc1NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDU3NXYtNDAwek0xMDAwIDkwMGgtMjAwdjIwMHpNNzAwIDMwMGgxNjJsLTIxMiAtMjEybC0yMTIgMjEyaDE2MnYyMDBoMTAwdi0yMDB6TTUyMCAwaC0zOTVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzOTV6TTEwMDAgMjIwdi0xOTVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xOTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwMzsiIGQ9Ik03MDAgODAwaDMwMHYtNTIwbC0zNTAgMzUwbC01NTAgLTU1MHYxMDk1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNTc1di00MDB6TTEwMDAgOTAwaC0yMDB2MjAwek04NjIgMjAwaC0xNjJ2LTIwMGgtMTAwdjIwMGgtMTYybDIxMiAyMTJ6TTQ4MCAwaC0zNTVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1NWgzODB2LTgwek0xMDAwIDgwdi01NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1NXY4MGgxODB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwNDsiIGQ9Ik0xMTYyIDgwMGgtMTYydi0yMDBoMTAwbDEwMCAtMTAwaC0zMDB2MzAwaC0xNjJsMjEyIDIxMnpNMjAwIDgwMGgyMDBxMjcgMCA0MCAtMnQyOS41IC0xMC41dDIzLjUgLTMwdDcgLTU3LjVoMzAwdi0xMDBoLTYwMGwtMjAwIC0zNTB2NDUwaDEwMHEwIDM2IDcgNTcuNXQyMy41IDMwdDI5LjUgMTAuNXQ0MCAyek04MDAgNDAwaDI0MGwtMjQwIC00MDBoLTgwMGwzMDAgNTAwaDUwMHYtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDU7IiBkPSJNNjUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMDAwIDg1MHYxNTBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTgwMCBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTYwMHEtMSAwIC0yMCA0bDI0NiAyNDZsLTMyNiAzMjZ2MzI0cTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXYtMTUwcTAgLTYyIDQ0IC0xMDZ0MTA2IC00NGgzMDBxNjIgMCAxMDYgNDR0NDQgMTA2ek00MTIgMjUwbC0yMTIgLTIxMnYxNjJoLTIwMHYxMDBoMjAwdjE2MnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjA2OyIgZD0iTTQ1MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDUwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNODAwIDg1MHYxNTBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTUwMCBoLTIwMHYtMzAwaDIwMHEwIC0zNiAtNyAtNTcuNXQtMjMuNSAtMzB0LTI5LjUgLTEwLjV0LTQwIC0yaC02MDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djgwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV2LTE1MHEwIC02MiA0NCAtMTA2dDEwNiAtNDRoMzAwcTYyIDAgMTA2IDQ0dDQ0IDEwNnpNMTIxMiAyNTBsLTIxMiAtMjEydjE2MmgtMjAwdjEwMGgyMDB2MTYyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDk7IiBkPSJNNjU4IDExOTdsNjM3IC0xMTA0cTIzIC0zOCA3IC02NS41dC02MCAtMjcuNWgtMTI3NnEtNDQgMCAtNjAgMjcuNXQ3IDY1LjVsNjM3IDExMDRxMjIgMzkgNTQgMzl0NTQgLTM5ek03MDQgODAwaC0yMDhxLTIwIDAgLTMyIC0xNC41dC04IC0zNC41bDU4IC0zMDJxNCAtMjAgMjEuNSAtMzQuNXQzNy41IC0xNC41aDU0cTIwIDAgMzcuNSAxNC41dDIxLjUgMzQuNWw1OCAzMDJxNCAyMCAtOCAzNC41dC0zMiAxNC41ek01MDAgMzAwdi0xMDBoMjAwIHYxMDBoLTIwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjEwOyIgZD0iTTQyNSAxMTAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek00MjUgODAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41IHQxNy41IDcuNXpNODI1IDgwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMjUgNTAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDI1IDUwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNODI1IDUwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNSB2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTI1IDIwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDI1IDIwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41IHQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTgyNSAyMDBoMjUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMjUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxMTsiIGQ9Ik03MDAgMTIwMGgxMDB2LTIwMGgtMTAwdi0xMDBoMzUwcTYyIDAgODYuNSAtMzkuNXQtMy41IC05NC41bC02NiAtMTMycS00MSAtODMgLTgxIC0xMzRoLTc3MnEtNDAgNTEgLTgxIDEzNGwtNjYgMTMycS0yOCA1NSAtMy41IDk0LjV0ODYuNSAzOS41aDM1MHYxMDBoLTEwMHYyMDBoMTAwdjEwMGgyMDB2LTEwMHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEybDEzNyAtMTAwIGgtOTUwbDEzOCAxMDBoLTEzcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41ek01MCAxMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMTI7IiBkPSJNNjAwIDEzMDBxNDAgMCA2OC41IC0yOS41dDI4LjUgLTcwLjVoLTE5NHEwIDQxIDI4LjUgNzAuNXQ2OC41IDI5LjV6TTQ0MyAxMTAwaDMxNHExOCAtMzcgMTggLTc1cTAgLTggLTMgLTI1aDMyOHE0MSAwIDQ0LjUgLTE2LjV0LTMwLjUgLTM4LjVsLTE3NSAtMTQ1aC02NzhsLTE3OCAxNDVxLTM0IDIyIC0yOSAzOC41dDQ2IDE2LjVoMzI4cS0zIDE3IC0zIDI1cTAgMzggMTggNzV6TTI1MCA3MDBoNzAwcTIxIDAgMzUuNSAtMTQuNSB0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTUwdi0yMDBsMjc1IC0yMDBoLTk1MGwyNzUgMjAwdjIwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41ek01MCAxMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMTM7IiBkPSJNNjAwIDExODFxNzUgMCAxMjggLTUzdDUzIC0xMjh0LTUzIC0xMjh0LTEyOCAtNTN0LTEyOCA1M3QtNTMgMTI4dDUzIDEyOHQxMjggNTN6TTYwMiA3OThoNDZxMzQgMCA1NS41IC0yOC41dDIxLjUgLTg2LjVxMCAtNzYgMzkgLTE4M2gtMzI0cTM5IDEwNyAzOSAxODNxMCA1OCAyMS41IDg2LjV0NTYuNSAyOC41aDQ1ek0yNTAgNDAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTMgbDEzOCAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNDsiIGQ9Ik02MDAgMTMwMHE0NyAwIDkyLjUgLTUzLjV0NzEgLTEyM3QyNS41IC0xMjMuNXEwIC03OCAtNTUuNSAtMTMzLjV0LTEzMy41IC01NS41dC0xMzMuNSA1NS41dC01NS41IDEzMy41cTAgNjIgMzQgMTQzbDE0NCAtMTQzbDExMSAxMTFsLTE2MyAxNjNxMzQgMjYgNjMgMjZ6TTYwMiA3OThoNDZxMzQgMCA1NS41IC0yOC41dDIxLjUgLTg2LjVxMCAtNzYgMzkgLTE4M2gtMzI0cTM5IDEwNyAzOSAxODNxMCA1OCAyMS41IDg2LjV0NTYuNSAyOC41aDQ1IHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEzbDEzOCAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNTsiIGQ9Ik02MDAgMTIwMGwzMDAgLTE2MXYtMTM5aC0zMDBxMCAtNTcgMTguNSAtMTA4dDUwIC05MS41dDYzIC03MnQ3MCAtNjcuNXQ1Ny41IC02MWgtNTMwcS02MCA4MyAtOTAuNSAxNzcuNXQtMzAuNSAxNzguNXQzMyAxNjQuNXQ4Ny41IDEzOS41dDEyNiA5Ni41dDE0NS41IDQxLjV2LTk4ek0yNTAgNDAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTNsMTM4IC0xMDBoLTk1MGwxMzcgMTAwIGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNjsiIGQ9Ik02MDAgMTMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNzhxNDYgLTI2IDczIC03MnQyNyAtMTAwdi01MGgtNDAwdjUwcTAgNTQgMjcgMTAwdDczIDcydjc4cTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNNDAwIDgwMGg0MDBxNTQgMCAxMDAgLTI3dDcyIC03M2gtMTcydi0xMDBoMjAwdi0xMDBoLTIwMHYtMTAwaDIwMHYtMTAwaC0yMDB2LTEwMGgyMDBxMCAtODMgLTU4LjUgLTE0MS41dC0xNDEuNSAtNTguNWgtNDAwIHEtODMgMCAtMTQxLjUgNTguNXQtNTguNSAxNDEuNXY0MDBxMCA4MyA1OC41IDE0MS41dDE0MS41IDU4LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxODsiIGQ9Ik0xNTAgMTEwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtOTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMjUgNDAwaDk1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMjgzbDIyNCAtMjI0cTEzIC0xMyAxMyAtMzEuNXQtMTMgLTMyIHQtMzEuNSAtMTMuNXQtMzEuNSAxM2wtODggODhoLTUyNGwtODcgLTg4cS0xMyAtMTMgLTMyIC0xM3QtMzIgMTMuNXQtMTMgMzJ0MTMgMzEuNWwyMjQgMjI0aC0yODlxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01NDEgMzAwbC0xMDAgLTEwMGgzMjRsLTEwMCAxMDBoLTEyNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjE5OyIgZD0iTTIwMCAxMTAwaDgwMHE4MyAwIDE0MS41IC01OC41dDU4LjUgLTE0MS41di0yMDBoLTEwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNWgtMjUwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41aC0xMDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjVoLTI1MHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNWgtMTAwdjIwMHEwIDgzIDU4LjUgMTQxLjV0MTQxLjUgNTguNXpNMTAwIDYwMGgxMDAwcTQxIDAgNzAuNSAtMjkuNSB0MjkuNSAtNzAuNXYtMzAwaC0xMjAwdjMwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTMwMCAxMDB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaDIwMHpNMTEwMCAxMDB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaDIwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjIxOyIgZD0iTTQ4MCAxMTY1bDY4MiAtNjgzcTMxIC0zMSAzMSAtNzUuNXQtMzEgLTc1LjVsLTEzMSAtMTMxaC00ODFsLTUxNyA1MThxLTMyIDMxIC0zMiA3NS41dDMyIDc1LjVsMjk1IDI5NnEzMSAzMSA3NS41IDMxdDc2LjUgLTMxek0xMDggNzk0bDM0MiAtMzQybDMwMyAzMDRsLTM0MSAzNDF6TTI1MCAxMDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtOTAwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjIzOyIgZD0iTTEwNTcgNjQ3bC0xODkgNTA2cS04IDE5IC0yNy41IDMzdC00MC41IDE0aC00MDBxLTIxIDAgLTQwLjUgLTE0dC0yNy41IC0zM2wtMTg5IC01MDZxLTggLTE5IDEuNSAtMzN0MzAuNSAtMTRoNjI1di0xNTBxMCAtMjEgMTQuNSAtMzUuNXQzNS41IC0xNC41dDM1LjUgMTQuNXQxNC41IDM1LjV2MTUwaDEyNXEyMSAwIDMwLjUgMTR0MS41IDMzek04OTcgMGgtNTk1djUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHY1MCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ4djMwMGgyMDB2LTMwMGg0N3EyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMjQ7IiBkPSJNOTAwIDgwMGgzMDB2LTU3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTM3NXY1OTFsLTMwMCAzMDB2ODRxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgzNzV2LTQwMHpNMTIwMCA5MDBoLTIwMHYyMDB6TTQwMCA2MDBoMzAwdi01NzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC02NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5NTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgzNzV2LTQwMHpNNzAwIDcwMGgtMjAwdjIwMHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIyNTsiIGQ9Ik00ODQgMTA5NWgxOTVxNzUgMCAxNDYgLTMyLjV0MTI0IC04NnQ4OS41IC0xMjIuNXQ0OC41IC0xNDJxMTggLTE0IDM1IC0yMHEzMSAtMTAgNjQuNSA2LjV0NDMuNSA0OC41cTEwIDM0IC0xNSA3MXEtMTkgMjcgLTkgNDNxNSA4IDEyLjUgMTF0MTkgLTF0MjMuNSAtMTZxNDEgLTQ0IDM5IC0xMDVxLTMgLTYzIC00NiAtMTA2LjV0LTEwNCAtNDMuNWgtNjJxLTcgLTU1IC0zNSAtMTE3dC01NiAtMTAwbC0zOSAtMjM0cS0zIC0yMCAtMjAgLTM0LjUgdC0zOCAtMTQuNWgtMTAwcS0yMSAwIC0zMyAxNC41dC05IDM0LjVsMTIgNzBxLTQ5IC0xNCAtOTEgLTE0aC0xOTVxLTI0IDAgLTY1IDhsLTExIC02NHEtMyAtMjAgLTIwIC0zNC41dC0zOCAtMTQuNWgtMTAwcS0yMSAwIC0zMyAxNC41dC05IDM0LjVsMjYgMTU3cS04NCA3NCAtMTI4IDE3NWwtMTU5IDUzcS0xOSA3IC0zMyAyNnQtMTQgNDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDEyNHExMSA4NyA1NiAxNjZsLTExMSA5NSBxLTE2IDE0IC0xMi41IDIzLjV0MjQuNSA5LjVoMjAzcTExNiAxMDEgMjUwIDEwMXpNNjc1IDEwMDBoLTI1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMjUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2NTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMjY7IiBkPSJNNjQxIDkwMGw0MjMgMjQ3cTE5IDggNDIgMi41dDM3IC0yMS41bDMyIC0zOHExNCAtMTUgMTIuNSAtMzZ0LTE3LjUgLTM0bC0xMzkgLTEyMGgtMzkwek01MCAxMTAwaDEwNnE2NyAwIDEwMyAtMTd0NjYgLTcxbDEwMiAtMjEyaDgyM3EyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBxMCAtMjEgLTE0IC00MHQtMzMgLTI2bC03MzcgLTEzMnEtMjMgLTQgLTQwIDZ0LTI2IDI1cS00MiA2NyAtMTAwIDY3aC0zMDBxLTYyIDAgLTEwNiA0NCB0LTQ0IDEwNnYyMDBxMCA2MiA0NCAxMDZ0MTA2IDQ0ek0xNzMgOTI4aC04MHEtMTkgMCAtMjggLTE0dC05IC0zNXYtNTZxMCAtNTEgNDIgLTUxaDEzNHExNiAwIDIxLjUgOHQ1LjUgMjRxMCAxMSAtMTYgNDV0LTI3IDUxcS0xOCAyOCAtNDMgMjh6TTU1MCA3MjdxLTMyIDAgLTU0LjUgLTIyLjV0LTIyLjUgLTU0LjV0MjIuNSAtNTQuNXQ1NC41IC0yMi41dDU0LjUgMjIuNXQyMi41IDU0LjV0LTIyLjUgNTQuNXQtNTQuNSAyMi41ek0xMzAgMzg5IGwxNTIgMTMwcTE4IDE5IDM0IDI0dDMxIC0zLjV0MjQuNSAtMTcuNXQyNS41IC0yOHEyOCAtMzUgNTAuNSAtNTF0NDguNSAtMTNsNjMgNWw0OCAtMTc5cTEzIC02MSAtMy41IC05Ny41dC02Ny41IC03OS41bC04MCAtNjlxLTQ3IC00MCAtMTA5IC0zNS41dC0xMDMgNTEuNWwtMTMwIDE1MXEtNDAgNDcgLTM1LjUgMTA5LjV0NTEuNSAxMDIuNXpNMzgwIDM3N2wtMTAyIC04OHEtMzEgLTI3IDIgLTY1bDM3IC00M3ExMyAtMTUgMjcuNSAtMTkuNSB0MzEuNSA2LjVsNjEgNTNxMTkgMTYgMTQgNDlxLTIgMjAgLTEyIDU2dC0xNyA0NXEtMTEgMTIgLTE5IDE0dC0yMyAtOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjI3OyIgZD0iTTYyNSAxMjAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTEwOXE3OSAtMzMgMTMxIC04Ny41dDUzIC0xMjguNXExIC00NiAtMTUgLTg0LjV0LTM5IC02MXQtNDYgLTM4dC0zOSAtMjEuNWwtMTcgLTZxNiAwIDE1IC0xLjV0MzUgLTl0NTAgLTE3LjV0NTMgLTMwdDUwIC00NXQzNS41IC02NHQxNC41IC04NHEwIC01OSAtMTEuNSAtMTA1LjV0LTI4LjUgLTc2LjV0LTQ0IC01MXQtNDkuNSAtMzEuNXQtNTQuNSAtMTZ0LTQ5LjUgLTYuNSB0LTQzLjUgLTF2LTc1cTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NzVoLTEwMHYtNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY3NWgtMTc1cS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNzV2NjAwaC03NXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxNzV2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di03NWgxMDB2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDAwIDkwMHYtMjAwaDI2M3EyOCAwIDQ4LjUgMTAuNXQzMCAyNXQxNSAyOXQ1LjUgMjUuNWwxIDEwcTAgNCAtMC41IDExdC02IDI0dC0xNSAzMHQtMzAgMjR0LTQ4LjUgMTFoLTI2M3pNNDAwIDUwMHYtMjAwaDM2M3EyOCAwIDQ4LjUgMTAuNSB0MzAgMjV0MTUgMjl0NS41IDI1LjVsMSAxMHEwIDQgLTAuNSAxMXQtNiAyNHQtMTUgMzB0LTMwIDI0dC00OC41IDExaC0zNjN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzMDsiIGQ9Ik0yMTIgMTE5OGg3ODBxODYgMCAxNDcgLTYxdDYxIC0xNDd2LTQxNnEwIC01MSAtMTggLTE0Mi41dC0zNiAtMTU3LjVsLTE4IC02NnEtMjkgLTg3IC05My41IC0xNDYuNXQtMTQ2LjUgLTU5LjVoLTU3MnEtODIgMCAtMTQ3IDU5dC05MyAxNDdxLTggMjggLTIwIDczdC0zMiAxNDMuNXQtMjAgMTQ5LjV2NDE2cTAgODYgNjEgMTQ3dDE0NyA2MXpNNjAwIDEwNDVxLTcwIDAgLTEzMi41IC0xMS41dC0xMDUuNSAtMzAuNXQtNzguNSAtNDEuNSB0LTU3IC00NXQtMzYgLTQxdC0yMC41IC0zMC41bC02IC0xMmwxNTYgLTI0M2g1NjBsMTU2IDI0M3EtMiA1IC02IDEyLjV0LTIwIDI5LjV0LTM2LjUgNDJ0LTU3IDQ0LjV0LTc5IDQydC0xMDUgMjkuNXQtMTMyLjUgMTJ6TTc2MiA3MDNoLTE1N2wxOTUgMjYxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzE7IiBkPSJNNDc1IDEzMDBoMTUwcTEwMyAwIDE4OSAtODZ0ODYgLTE4OXYtNTAwcTAgLTQxIC00MiAtODN0LTgzIC00MmgtNDUwcS00MSAwIC04MyA0MnQtNDIgODN2NTAwcTAgMTAzIDg2IDE4OXQxODkgODZ6TTcwMCAzMDB2LTIyNXEwIC0yMSAtMjcgLTQ4dC00OCAtMjdoLTE1MHEtMjEgMCAtNDggMjd0LTI3IDQ4djIyNWgzMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzMjsiIGQ9Ik00NzUgMTMwMGg5NnEwIC0xNTAgODkuNSAtMjM5LjV0MjM5LjUgLTg5LjV2LTQ0NnEwIC00MSAtNDIgLTgzdC04MyAtNDJoLTQ1MHEtNDEgMCAtODMgNDJ0LTQyIDgzdjUwMHEwIDEwMyA4NiAxODl0MTg5IDg2ek03MDAgMzAwdi0yMjVxMCAtMjEgLTI3IC00OHQtNDggLTI3aC0xNTBxLTIxIDAgLTQ4IDI3dC0yNyA0OHYyMjVoMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzM7IiBkPSJNMTI5NCA3NjdsLTYzOCAtMjgzbC0zNzggMTcwbC03OCAtNjB2LTIyNGwxMDAgLTE1MHYtMTk5bC0xNTAgMTQ4bC0xNTAgLTE0OXYyMDBsMTAwIDE1MHYyNTBxMCA0IC0wLjUgMTAuNXQwIDkuNXQxIDh0MyA4dDYuNSA2bDQ3IDQwbC0xNDcgNjVsNjQyIDI4M3pNMTAwMCAzODBsLTM1MCAtMTY2bC0zNTAgMTY2djE0N2wzNTAgLTE2NWwzNTAgMTY1di0xNDd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzNDsiIGQ9Ik0yNTAgODAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek02NTAgODAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek0xMDUwIDgwMHE2MiAwIDEwNiAtNDR0NDQgLTEwNnQtNDQgLTEwNnQtMTA2IC00NHQtMTA2IDQ0dC00NCAxMDZ0NDQgMTA2dDEwNiA0NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjM1OyIgZD0iTTU1MCAxMTAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek01NTAgNzAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek01NTAgMzAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzY7IiBkPSJNMTI1IDExMDBoOTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtOTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEyNSA3MDBoOTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtOTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjUgdDE3LjUgNy41ek0xMjUgMzAwaDk1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTk1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzc7IiBkPSJNMzUwIDEyMDBoNTAwcTE2MiAwIDI1NiAtOTMuNXQ5NCAtMjU2LjV2LTUwMHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNTAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY1MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41ek05MDAgMTAwMGgtNjAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di02MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDYwMHE0MSAwIDcwLjUgMjkuNSB0MjkuNSA3MC41djYwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNMzUwIDkwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYzMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek00MDAgODAwdi0yMDBoNDAwdjIwMGgtNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzg7IiBkPSJNMTUwIDExMDBoMTAwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNSB0LTM1LjUgLTE0LjVoLTEwMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2MjAwaC01MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV0MTQuNSAzNS41dDM1LjUgMTQuNWg1MHYyMDBoLTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41aDUwdjIwMGgtNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzOTsiIGQ9Ik02NTAgMTE4N3E4NyAtNjcgMTE4LjUgLTE1NnQwIC0xNzh0LTExOC41IC0xNTVxLTg3IDY2IC0xMTguNSAxNTV0MCAxNzh0MTE4LjUgMTU2ek0zMDAgODAwcTEyNCAwIDIxMiAtODh0ODggLTIxMnEtMTI0IDAgLTIxMiA4OHQtODggMjEyek0xMDAwIDgwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhxMCAxMjQgODggMjEydDIxMiA4OHpNMzAwIDUwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnogTTEwMDAgNTAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek03MDAgMTk5di0xNDRxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjV0LTM1LjUgMTQuNXQtMTQuNSAzNS41djE0MnE0MCAtNCA0MyAtNHExNyAwIDU3IDZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0MDsiIGQ9Ik03NDUgODc4bDY5IDE5cTI1IDYgNDUgLTEybDI5OCAtMjk1cTExIC0xMSAxNSAtMjYuNXQtMiAtMzAuNXEtNSAtMTQgLTE4IC0yMy41dC0yOCAtOS41aC04cTEgMCAxIC0xM3EwIC0yOSAtMiAtNTZ0LTguNSAtNjJ0LTIwIC02M3QtMzMgLTUzdC01MSAtMzl0LTcyLjUgLTE0aC0xNDZxLTE4NCAwIC0xODQgMjg4cTAgMjQgMTAgNDdxLTIwIDQgLTYyIDR0LTYzIC00cTExIC0yNCAxMSAtNDdxMCAtMjg4IC0xODQgLTI4OGgtMTQyIHEtNDggMCAtODQuNSAyMXQtNTYgNTF0LTMyIDcxLjV0LTE2IDc1dC0zLjUgNjguNXEwIDEzIDIgMTNoLTdxLTE1IDAgLTI3LjUgOS41dC0xOC41IDIzLjVxLTYgMTUgLTIgMzAuNXQxNSAyNS41bDI5OCAyOTZxMjAgMTggNDYgMTFsNzYgLTE5cTIwIC01IDMwLjUgLTIyLjV0NS41IC0zNy41dC0yMi41IC0zMXQtMzcuNSAtNWwtNTEgMTJsLTE4MiAtMTkzaDg5MWwtMTgyIDE5M2wtNDQgLTEycS0yMCAtNSAtMzcuNSA2dC0yMi41IDMxdDYgMzcuNSB0MzEgMjIuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjQxOyIgZD0iTTEyMDAgOTAwaC01MHEwIDIxIC00IDM3dC05LjUgMjYuNXQtMTggMTcuNXQtMjIgMTF0LTI4LjUgNS41dC0zMSAydC0zNyAwLjVoLTIwMHYtODUwcTAgLTIyIDI1IC0zNC41dDUwIC0xMy41bDI1IC0ydi0xMDBoLTQwMHYxMDBxNCAwIDExIDAuNXQyNCAzdDMwIDd0MjQgMTV0MTEgMjQuNXY4NTBoLTIwMHEtMjUgMCAtMzcgLTAuNXQtMzEgLTJ0LTI4LjUgLTUuNXQtMjIgLTExdC0xOCAtMTcuNXQtOS41IC0yNi41dC00IC0zN2gtNTB2MzAwIGgxMDAwdi0zMDB6TTUwMCA0NTBoLTI1cTAgMTUgLTQgMjQuNXQtOSAxNC41dC0xNyA3LjV0LTIwIDN0LTI1IDAuNWgtMTAwdi00MjVxMCAtMTEgMTIuNSAtMTcuNXQyNS41IC03LjVoMTJ2LTUwaC0yMDB2NTBxNTAgMCA1MCAyNXY0MjVoLTEwMHEtMTcgMCAtMjUgLTAuNXQtMjAgLTN0LTE3IC03LjV0LTkgLTE0LjV0LTQgLTI0LjVoLTI1djE1MGg1MDB2LTE1MHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjQyOyIgZD0iTTEwMDAgMzAwdjUwcS0yNSAwIC01NSAzMnEtMTQgMTQgLTI1IDMxdC0xNiAyN2wtNCAxMWwtMjg5IDc0N2gtNjlsLTMwMCAtNzU0cS0xOCAtMzUgLTM5IC01NnEtOSAtOSAtMjQuNSAtMTguNXQtMjYuNSAtMTQuNWwtMTEgLTV2LTUwaDI3M3Y1MHEtNDkgMCAtNzguNSAyMS41dC0xMS41IDY3LjVsNjkgMTc2aDI5M2w2MSAtMTY2cTEzIC0zNCAtMy41IC02Ni41dC01NS41IC0zMi41di01MGgzMTJ6TTQxMiA2OTFsMTM0IDM0MmwxMjEgLTM0MiBoLTI1NXpNMTEwMCAxNTB2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNDM7IiBkPSJNNTAgMTIwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNjExIDExMThoLTcwcS0xMyAwIC0xOCAtMTJsLTI5OSAtNzUzcS0xNyAtMzIgLTM1IC01MXEtMTggLTE4IC01NiAtMzRxLTEyIC01IC0xMiAtMTh2LTUwcTAgLTggNS41IC0xNHQxNC41IC02IGgyNzNxOCAwIDE0IDZ0NiAxNHY1MHEwIDggLTYgMTR0LTE0IDZxLTU1IDAgLTcxIDIzcS0xMCAxNCAwIDM5bDYzIDE2M2gyNjZsNTcgLTE1M3ExMSAtMzEgLTYgLTU1cS0xMiAtMTcgLTM2IC0xN3EtOCAwIC0xNCAtNnQtNiAtMTR2LTUwcTAgLTggNiAtMTR0MTQgLTZoMzEzcTggMCAxNCA2dDYgMTR2NTBxMCA3IC01LjUgMTN0LTEzLjUgN3EtMTcgMCAtNDIgMjVxLTI1IDI3IC00MCA2M2gtMWwtMjg4IDc0OHEtNSAxMiAtMTkgMTJ6TTYzOSA2MTEgaC0xOTdsMTAzIDI2NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjQ0OyIgZD0iTTEyMDAgMTEwMGgtMTIwMHYxMDBoMTIwMHYtMTAwek01MCAxMDAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtOTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djkwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCAxMDAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDAgcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek03MDAgOTAwdi0zMDBoMzAwdjMwMGgtMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNDU7IiBkPSJNNTAgMTIwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTkwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY5MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek02NTAgNzAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek03MDAgNjAwdi0zMDBoMzAwdjMwMGgtMzAwek0xMjAwIDBoLTEyMDB2MTAwaDEyMDB2LTEwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjQ2OyIgZD0iTTUwIDEwMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0zNTBoMTAwdjE1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoMTAwdi0xMDBoLTEwMHYtMTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djE1MGgtMTAwdi0zNTBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTcwMCA3MDB2LTMwMGgzMDB2MzAwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0NzsiIGQ9Ik0xMDAgMGgtMTAwdjEyMDBoMTAwdi0xMjAwek0yNTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zMDAgMTAwMHYtMzAwaDMwMHYzMDBoLTMwMHpNMjUwIDUwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTkwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjQ4OyIgZD0iTTYwMCAxMTAwaDE1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xNTB2LTEwMGg0NTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtOTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDM1MHYxMDBoLTE1MHEtMjEgMCAtMzUuNSAxNC41IHQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMTUwdjEwMGgxMDB2LTEwMHpNNDAwIDEwMDB2LTMwMGgzMDB2MzAwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0OTsiIGQ9Ik0xMjAwIDBoLTEwMHYxMjAwaDEwMHYtMTIwMHpNNTUwIDExMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNjAwIDEwMDB2LTMwMGgzMDB2MzAwaC0zMDB6TTUwIDUwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTkwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjUwOyIgZD0iTTg2NSA1NjVsLTQ5NCAtNDk0cS0yMyAtMjMgLTQxIC0yM3EtMTQgMCAtMjIgMTMuNXQtOCAzOC41djEwMDBxMCAyNSA4IDM4LjV0MjIgMTMuNXExOCAwIDQxIC0yM2w0OTQgLTQ5NHExNCAtMTQgMTQgLTM1dC0xNCAtMzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI1MTsiIGQ9Ik0zMzUgNjM1bDQ5NCA0OTRxMjkgMjkgNTAgMjAuNXQyMSAtNDkuNXYtMTAwMHEwIC00MSAtMjEgLTQ5LjV0LTUwIDIwLjVsLTQ5NCA0OTRxLTE0IDE0IC0xNCAzNXQxNCAzNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjUyOyIgZD0iTTEwMCA5MDBoMTAwMHE0MSAwIDQ5LjUgLTIxdC0yMC41IC01MGwtNDk0IC00OTRxLTE0IC0xNCAtMzUgLTE0dC0zNSAxNGwtNDk0IDQ5NHEtMjkgMjkgLTIwLjUgNTB0NDkuNSAyMXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjUzOyIgZD0iTTYzNSA4NjVsNDk0IC00OTRxMjkgLTI5IDIwLjUgLTUwdC00OS41IC0yMWgtMTAwMHEtNDEgMCAtNDkuNSAyMXQyMC41IDUwbDQ5NCA0OTRxMTQgMTQgMzUgMTR0MzUgLTE0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNTQ7IiBkPSJNNzAwIDc0MXYtMTgybC02OTIgLTMyM3YyMjFsNDEzIDE5M2wtNDEzIDE5M3YyMjF6TTEyMDAgMGgtODAwdjIwMGg4MDB2LTIwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjU1OyIgZD0iTTEyMDAgOTAwaC0yMDB2LTEwMGgyMDB2LTEwMGgtMzAwdjMwMGgyMDB2MTAwaC0yMDB2MTAwaDMwMHYtMzAwek0wIDcwMGg1MHEwIDIxIDQgMzd0OS41IDI2LjV0MTggMTcuNXQyMiAxMXQyOC41IDUuNXQzMSAydDM3IDAuNWgxMDB2LTU1MHEwIC0yMiAtMjUgLTM0LjV0LTUwIC0xMy41bC0yNSAtMnYtMTAwaDQwMHYxMDBxLTQgMCAtMTEgMC41dC0yNCAzdC0zMCA3dC0yNCAxNXQtMTEgMjQuNXY1NTBoMTAwcTI1IDAgMzcgLTAuNXQzMSAtMiB0MjguNSAtNS41dDIyIC0xMXQxOCAtMTcuNXQ5LjUgLTI2LjV0NCAtMzdoNTB2MzAwaC04MDB2LTMwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjU2OyIgZD0iTTgwMCA3MDBoLTUwcTAgMjEgLTQgMzd0LTkuNSAyNi41dC0xOCAxNy41dC0yMiAxMXQtMjguNSA1LjV0LTMxIDJ0LTM3IDAuNWgtMTAwdi01NTBxMCAtMjIgMjUgLTM0LjV0NTAgLTE0LjVsMjUgLTF2LTEwMGgtNDAwdjEwMHE0IDAgMTEgMC41dDI0IDN0MzAgN3QyNCAxNXQxMSAyNC41djU1MGgtMTAwcS0yNSAwIC0zNyAtMC41dC0zMSAtMnQtMjguNSAtNS41dC0yMiAtMTF0LTE4IC0xNy41dC05LjUgLTI2LjV0LTQgLTM3aC01MHYzMDAgaDgwMHYtMzAwek0xMTAwIDIwMGgtMjAwdi0xMDBoMjAwdi0xMDBoLTMwMHYzMDBoMjAwdjEwMGgtMjAwdjEwMGgzMDB2LTMwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjU3OyIgZD0iTTcwMSAxMDk4aDE2MHExNiAwIDIxIC0xMXQtNyAtMjNsLTQ2NCAtNDY0bDQ2NCAtNDY0cTEyIC0xMiA3IC0yM3QtMjEgLTExaC0xNjBxLTEzIDAgLTIzIDlsLTQ3MSA0NzFxLTcgOCAtNyAxOHQ3IDE4bDQ3MSA0NzFxMTAgOSAyMyA5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNTg7IiBkPSJNMzM5IDEwOThoMTYwcTEzIDAgMjMgLTlsNDcxIC00NzFxNyAtOCA3IC0xOHQtNyAtMThsLTQ3MSAtNDcxcS0xMCAtOSAtMjMgLTloLTE2MHEtMTYgMCAtMjEgMTF0NyAyM2w0NjQgNDY0bC00NjQgNDY0cS0xMiAxMiAtNyAyM3QyMSAxMXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjU5OyIgZD0iTTEwODcgODgycTExIC01IDExIC0yMXYtMTYwcTAgLTEzIC05IC0yM2wtNDcxIC00NzFxLTggLTcgLTE4IC03dC0xOCA3bC00NzEgNDcxcS05IDEwIC05IDIzdjE2MHEwIDE2IDExIDIxdDIzIC03bDQ2NCAtNDY0bDQ2NCA0NjRxMTIgMTIgMjMgN3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjYwOyIgZD0iTTYxOCA5OTNsNDcxIC00NzFxOSAtMTAgOSAtMjN2LTE2MHEwIC0xNiAtMTEgLTIxdC0yMyA3bC00NjQgNDY0bC00NjQgLTQ2NHEtMTIgLTEyIC0yMyAtN3QtMTEgMjF2MTYwcTAgMTMgOSAyM2w0NzEgNDcxcTggNyAxOCA3dDE4IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGY4ZmY7IiBkPSJNMTAwMCAxMjAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek00NTAgMTAwMGgxMDBxMjEgMCA0MCAtMTR0MjYgLTMzbDc5IC0xOTRxNSAxIDE2IDNxMzQgNiA1NCA5LjV0NjAgN3Q2NS41IDF0NjEgLTEwdDU2LjUgLTIzdDQyLjUgLTQydDI5IC02NHQ1IC05MnQtMTkuNSAtMTIxLjVxLTEgLTcgLTMgLTE5LjV0LTExIC01MHQtMjAuNSAtNzN0LTMyLjUgLTgxLjV0LTQ2LjUgLTgzdC02NCAtNzAgdC04Mi41IC01MHEtMTMgLTUgLTQyIC01dC02NS41IDIuNXQtNDcuNSAyLjVxLTE0IDAgLTQ5LjUgLTMuNXQtNjMgLTMuNXQtNDMuNSA3cS01NyAyNSAtMTA0LjUgNzguNXQtNzUgMTExLjV0LTQ2LjUgMTEydC0yNiA5MGwtNyAzNXEtMTUgNjMgLTE4IDExNXQ0LjUgODguNXQyNiA2NHQzOS41IDQzLjV0NTIgMjUuNXQ1OC41IDEzdDYyLjUgMnQ1OS41IC00LjV0NTUuNSAtOGwtMTQ3IDE5MnEtMTIgMTggLTUuNSAzMHQyNy41IDEyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDFmNTExOyIgZD0iTTI1MCAxMjAwaDYwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xNTB2LTUwMGwtMjU1IC0xNzhxLTE5IC05IC0zMiAtMXQtMTMgMjl2NjUwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQwMCAxMTAwdi0xMDBoMzAwdjEwMGgtMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDFmNmFhOyIgZD0iTTI1MCAxMjAwaDc1MHEzOSAwIDY5LjUgLTQwLjV0MzAuNSAtODQuNXYtOTMzbC03MDAgLTExN3Y5NTBsNjAwIDEyNWgtNzAwdi0xMDAwaC0xMDB2MTAyNXEwIDIzIDE1LjUgNDl0MzQuNSAyNnpNNTAwIDUyNXYtMTAwbDEwMCAyMHYxMDB6IiAvPgo8L2ZvbnQ+CjwvZGVmcz48L3N2Zz4g) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.33px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:3;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} +</style> +<script>/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under the MIT license + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.5",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.5",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.5",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.5",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k.right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.5",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.5",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")), +d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.5",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);</script> +<script>/** +* @preserve HTML5 Shiv 3.7.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed +*/ +// Only run this code in IE 8 +if (!!window.navigator.userAgent.match("MSIE 8")) { +!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.2",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b)}(this,document); +}; +</script> +<script>/*! Respond.js v1.4.2: min/max-width media query polyfill * Copyright 2013 Scott Jehl + * Licensed under https://github.com/scottjehl/Respond/blob/master/LICENSE-MIT + * */ + +// Only run this code in IE 8 +if (!!window.navigator.userAgent.match("MSIE 8")) { +!function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='­<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){u(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))};if(c.ajax=f,c.queue=d,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,maxw:/\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var g,h,i,j=a.document,k=j.documentElement,l=[],m=[],n=[],o={},p=30,q=j.getElementsByTagName("head")[0]||k,r=j.getElementsByTagName("base")[0],s=q.getElementsByTagName("link"),t=function(){var a,b=j.createElement("div"),c=j.body,d=k.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=j.createElement("body"),c.style.background="none"),k.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&k.insertBefore(c,k.firstChild),a=b.offsetWidth,f?k.removeChild(c):c.removeChild(b),k.style.fontSize=d,e&&(c.style.fontSize=e),a=i=parseFloat(a)},u=function(b){var c="clientWidth",d=k[c],e="CSS1Compat"===j.compatMode&&d||j.body[c]||d,f={},o=s[s.length-1],r=(new Date).getTime();if(b&&g&&p>r-g)return a.clearTimeout(h),h=a.setTimeout(u,p),void 0;g=r;for(var v in l)if(l.hasOwnProperty(v)){var w=l[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?i||t():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?i||t():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(m[w.rules]))}for(var C in n)n.hasOwnProperty(C)&&n[C]&&n[C].parentNode===q&&q.removeChild(n[C]);n.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=j.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,q.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(j.createTextNode(F)),n.push(E)}},v=function(a,b,d){var e=a.replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var g=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},h=!f&&d;b.length&&(b+="/"),h&&(f=1);for(var i=0;f>i;i++){var j,k,n,o;h?(j=d,m.push(g(a))):(j=e[i].match(c.regex.findStyles)&&RegExp.$1,m.push(RegExp.$2&&g(RegExp.$2))),n=j.split(","),o=n.length;for(var p=0;o>p;p++)k=n[p],l.push({media:k.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:m.length-1,hasquery:k.indexOf("(")>-1,minw:k.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:k.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},w=function(){if(d.length){var b=d.shift();f(b.href,function(c){v(c,b.href,b.media),o[b.href]=!0,a.setTimeout(function(){w()},0)})}},x=function(){for(var b=0;b<s.length;b++){var c=s[b],e=c.href,f=c.media,g=c.rel&&"stylesheet"===c.rel.toLowerCase();e&&g&&!o[e]&&(c.styleSheet&&c.styleSheet.rawCssText?(v(c.styleSheet.rawCssText,e,f),o[e]=!0):(!/^([a-zA-Z:]*\/\/)/.test(e)&&!r||e.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&("//"===e.substring(0,2)&&(e=a.location.protocol+e),d.push({href:e,media:f})))}w()};x(),c.update=x,c.getEmValue=t,a.addEventListener?a.addEventListener("resize",b,!1):a.attachEvent&&a.attachEvent("onresize",b)}}(this); +}; +</script> +<script> + +/** + * jQuery Plugin: Sticky Tabs + * + * @author Aidan Lister <aidan@php.net> + * adapted by Ruben Arslan to activate parent tabs too + * http://www.aidanlister.com/2014/03/persisting-the-tab-state-in-bootstrap/ + */ +(function($) { + "use strict"; + $.fn.rmarkdownStickyTabs = function() { + var context = this; + // Show the tab corresponding with the hash in the URL, or the first tab + var showStuffFromHash = function() { + var hash = window.location.hash; + var selector = hash ? 'a[href="' + hash + '"]' : 'li.active > a'; + var $selector = $(selector, context); + if($selector.data('toggle') === "tab") { + $selector.tab('show'); + // walk up the ancestors of this element, show any hidden tabs + $selector.parents('.section.tabset').each(function(i, elm) { + var link = $('a[href="#' + $(elm).attr('id') + '"]'); + if(link.data('toggle') === "tab") { + link.tab("show"); + } + }); + } + }; + + + // Set the correct tab when the page loads + showStuffFromHash(context); + + // Set the correct tab when a user uses their back/forward button + $(window).on('hashchange', function() { + showStuffFromHash(context); + }); + + // Change the URL when tabs are clicked + $('a', context).on('click', function(e) { + history.pushState(null, null, this.href); + showStuffFromHash(context); + }); + + return this; + }; +}(jQuery)); + +window.buildTabsets = function(tocID) { + + // build a tabset from a section div with the .tabset class + function buildTabset(tabset) { + + // check for fade and pills options + var fade = tabset.hasClass("tabset-fade"); + var pills = tabset.hasClass("tabset-pills"); + var navClass = pills ? "nav-pills" : "nav-tabs"; + + // determine the heading level of the tabset and tabs + var match = tabset.attr('class').match(/level(\d) /); + if (match === null) + return; + var tabsetLevel = Number(match[1]); + var tabLevel = tabsetLevel + 1; + + // find all subheadings immediately below + var tabs = tabset.find("div.section.level" + tabLevel); + if (!tabs.length) + return; + + // create tablist and tab-content elements + var tabList = $('<ul class="nav ' + navClass + '" role="tablist"></ul>'); + $(tabs[0]).before(tabList); + var tabContent = $('<div class="tab-content"></div>'); + $(tabs[0]).before(tabContent); + + // build the tabset + var activeTab = 0; + tabs.each(function(i) { + + // get the tab div + var tab = $(tabs[i]); + + // get the id then sanitize it for use with bootstrap tabs + var id = tab.attr('id'); + + // see if this is marked as the active tab + if (tab.hasClass('active')) + activeTab = i; + + // remove any table of contents entries associated with + // this ID (since we'll be removing the heading element) + $("div#" + tocID + " li a[href='#" + id + "']").parent().remove(); + + // sanitize the id for use with bootstrap tabs + id = id.replace(/[.\/?&!#<>]/g, '').replace(/\s/g, '_'); + tab.attr('id', id); + + // get the heading element within it, grab it's text, then remove it + var heading = tab.find('h' + tabLevel + ':first'); + var headingText = heading.html(); + heading.remove(); + + // build and append the tab list item + var a = $('<a role="tab" data-toggle="tab">' + headingText + '</a>'); + a.attr('href', '#' + id); + a.attr('aria-controls', id); + var li = $('<li role="presentation"></li>'); + li.append(a); + tabList.append(li); + + // set it's attributes + tab.attr('role', 'tabpanel'); + tab.addClass('tab-pane'); + tab.addClass('tabbed-pane'); + if (fade) + tab.addClass('fade'); + + // move it into the tab content div + tab.detach().appendTo(tabContent); + }); + + // set active tab + $(tabList.children('li')[activeTab]).addClass('active'); + var active = $(tabContent.children('div.section')[activeTab]); + active.addClass('active'); + if (fade) + active.addClass('in'); + + if (tabset.hasClass("tabset-sticky")) + tabset.rmarkdownStickyTabs(); + } + + // convert section divs with the .tabset class to tabsets + var tabsets = $("div.section.tabset"); + tabsets.each(function(i) { + buildTabset($(tabsets[i])); + }); +}; + +</script> +<style type="text/css">.hljs-literal { +color: #990073; +} +.hljs-number { +color: #099; +} +.hljs-comment { +color: #998; +font-style: italic; +} +.hljs-keyword { +color: #900; +font-weight: bold; +} +.hljs-string { +color: #d14; +} +</style> +<script src="data:application/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"> + +</style> +<script type="text/javascript"> +if (window.hljs) { + hljs.configure({languages: []}); + hljs.initHighlightingOnLoad(); + if (document.readyState && document.readyState === "complete") { + window.setTimeout(function() { hljs.initHighlighting(); }, 0); + } +} +</script> + + + +<style type="text/css"> +h1 { + font-size: 34px; +} +h1.title { + font-size: 38px; +} +h2 { + font-size: 30px; +} +h3 { + font-size: 24px; +} +h4 { + font-size: 18px; +} +h5 { + font-size: 16px; +} +h6 { + font-size: 12px; +} +.table th:not([align]) { + text-align: left; +} +</style> + +<style type="text/css">body { +margin: 0px auto; +max-width: 1134px; +font-family: sans-serif; +font-size: 10pt; +} + +div#TOC ul { +padding: 0px 0px 0px 45px; +list-style: none; +background-image: none; +background-repeat: none; +background-position: 0; +font-size: 10pt; +font-family: Helvetica, Arial, sans-serif; +} +div#TOC > ul { +padding: 0px 150px 0px 65px; +font-size: 12pt; +} +div#TOC > ul > li { +padding: 5px 0px 0px 0px; +} +div#TOC ul ul { +font-size: 11pt; +} +div#TOC.tocify ul { +padding: 0px; +font-size: inherit; +font-family: inherit; +} +div#TOC.tocify li { +padding: 5px; +font-size: inherit; +font-family: inherit; +} +p, dl { +padding: 0px 150px 0px 65px; +text-align: justify; +} + +p, img, table { +margin-top: 10px; +margin-bottom: 10px; +} + +ol, ul { +padding: 0px 150px 0px 100px; +list-style: square; +} +li ol, li ul { +padding: 0px 0px 0px 35px; +} +li p { +padding: 0; +} +pre { +margin: 0em 150px 0.5em 0em; +padding: 0px 0px 0px 65px; +border: 0px none; +background-color: #f0f0f0; +white-space: pre; +overflow-x: auto; +font-size: 90%; +} +li pre { +margin: 0em 0px 0.5em -65px; +padding: 0px 0px 0px 65px; +} +pre code { +background-color: inherit; +display: block; +padding: 10px 10px 10px 0px; +overflow-x: inherit; +font-size: 100%; +} + +pre code[class] { +background-color: inherit; +} + +pre[class] code { +background-color: inherit; +} +tt, code, pre { +font-family: 'DejaVu Sans Mono', 'Droid Sans Mono', 'Lucida Console', Consolas, Monaco, monospace; +} +h1, h2, h3, h4, h5, h6 { +font-family: Helvetica, Arial, sans-serif; +margin: 1.2em 150px 0.6em 0em; + +padding-left: 65px; +text-indent: -65px; +} +h1.title { +color: #87b13f; +line-height: 1.1em; +margin-top: 25px; +border-bottom: 0px; +} +h1 { +line-height: 1.4em; +border-bottom: 1px #1a81c2 solid; +} +h1, h2, h3 { +color: #1a81c2; +} +h1 { +font-size: 18.0pt; +} +h2 { +font-size: 14.5pt; +} +h3, h4 { +font-size: 12pt; +} +span.header-section-number { +float: left; +width: 65px; +} + +p.author-name { +font-size: 14.5pt; +font-weight: bold; +font-style: italic; +text-align: left; +} +.date { +text-indent: 0px; +font-weight: bold; +} +.abstract, .package { +font-weight: bold; +} + +code { +background-color: #f0f0f0; +color: #404040; +font-size: 90%; +} + +.figure { +margin: 0em 0px 0.5em; +} +img { +max-width: 100%; +display: block; +padding: 0px 150px 0px 130px; +} +p > img { +padding-left: 65px; +padding-right: 0px; +} +td > img { +padding: 0px; +max-width: 100%; +display: inline; +} +img.smallfigure { +padding-left: 195px; +padding-right: 280px; +} +p > img.smallfigure { +padding-left: 130px; +padding-right: 130px; +} +img.widefigure { +padding-left: 65px; +padding-right: 85px; +margin-right: -65px; +} +p > img.widefigure { +padding-left: 0px; +padding-right: 0px; +margin-right: -65px; +} +p.caption, caption { +color: inherit; +font-size: 8pt; +} +p.caption { +padding-left: 130px; +padding-right: 85px; +margin-bottom: 20px; +} +caption { +padding: 0px; +margin-bottom: 10px; +min-width: 583; +} +span.caption-title { +color: #1a81c2; +font-weight: bold; +} +span.caption-label { +font-weight: bold; +} + +table { +margin-left: 130px; +margin-right: 85px; +} +.table { +max-width: 518px; +} + +dd { +margin-left: 65px; +margin-bottom: 10px; +} + +.code-folding-btn { +position: relative; +margin-top: -26px; +top: 26px; +} +.col-md-12 { +min-height: 0px; +} + +.sidenote { +float: right; +clear: right; +margin-right: -150px; +width: 130px; +margin-top: 0; +margin-bottom: 1rem; +font-size: 8pt; +line-height: 1.3; +vertical-align: baseline; +position: relative; +text-align: left; +} +.sidenote-number, .affil-mark { +position: relative; +vertical-align: super; +font-size: 7.5pt; +font-weight: normal; +font-style: normal; +line-height: normal; +} +input.margin-toggle { display: none; } +label.sidenote-number { display: inline; } +label.margin-toggle:not(.sidenote-number) { display: none; } + +code > span.kw { color: #E07020; } +code > span.dt { color: #404040; } +code > span.dv { color: #D02070; } +code > span.bn { color: #d14; } +code > span.fl { color: #D02070; } +code > span.ch { color: #40A040; } +code > span.st { color: #40A040; } +code > span.co { color: #808080; font-style: italic; } +code > span.ot { color: #2020F0; } +code > span.al { color: #ff0000; font-weight: bold; } +code > span.fu { color: #E07020; } +code > span.er { color: #FF0000; } +code > span.identifier { color: #404040; } +code > span.number { color: #D02070; } +code > span.string { color: #40A040; } +code > span.comment { color: #808080; font-style: italic; } +code > span.keyword { color: #2020F0; } +code > span.literal { color: #2020F0; } +code > span.operator { color: #000000;} +code > span.paren { color: #000000;} + +.js-plotly-plot .plotly { +padding-left: 65px; +} +</style> + + + +<style type="text/css"> +.main-container { + max-width: 828px; + margin-left: auto; + margin-right: auto; +} + +img { + max-width:100%; +} +.tabbed-pane { + padding-top: 12px; +} +.html-widget { + margin-bottom: 20px; +} +button.code-folding-btn:focus { + outline: none; +} +summary { + display: list-item; +} +</style> + + + +<!-- tabsets --> + +<style type="text/css"> +.tabset-dropdown > .nav-tabs { + display: inline-table; + max-height: 500px; + min-height: 44px; + overflow-y: auto; + background: white; + border: 1px solid #ddd; + border-radius: 4px; +} + +.tabset-dropdown > .nav-tabs > li.active:before { + content: ""; + font-family: 'Glyphicons Halflings'; + display: inline-block; + padding: 10px; + border-right: 1px solid #ddd; +} + +.tabset-dropdown > .nav-tabs.nav-tabs-open > li.active:before { + content: ""; + border: none; +} + +.tabset-dropdown > .nav-tabs.nav-tabs-open:before { + content: ""; + font-family: 'Glyphicons Halflings'; + display: inline-block; + padding: 10px; + border-right: 1px solid #ddd; +} + +.tabset-dropdown > .nav-tabs > li.active { + display: block; +} + +.tabset-dropdown > .nav-tabs > li > a, +.tabset-dropdown > .nav-tabs > li > a:focus, +.tabset-dropdown > .nav-tabs > li > a:hover { + border: none; + display: inline-block; + border-radius: 4px; + background-color: transparent; +} + +.tabset-dropdown > .nav-tabs.nav-tabs-open > li { + display: block; + float: none; +} + +.tabset-dropdown > .nav-tabs > li { + display: none; +} +</style> + +<!-- code folding --> + + + + +</head> + +<body> + + +<div class="container-fluid main-container"> + + + + +<div class="fluid-row" id="header"> + + + +<h1 class="title toc-ignore">Using multicrispr for gRNA design</h1> +<p class="author-name">Aditya M Bhagwat</p> +<h4 class="date">2020-04-23</h4> + +</div> + +<h1>Contents</h1> +<div id="TOC"> +<ul> +<li><a href="#background"><span class="toc-section-number">1</span> Background</a><ul> +<li><a href="#crisprcas9-and-prime-editing"><span class="toc-section-number">1.1</span> Crispr/Cas9 and Prime Editing</a></li> +<li><a href="#guide-rna-design"><span class="toc-section-number">1.2</span> Guide RNA design</a></li> +</ul></li> +<li><a href="#multicrispr"><span class="toc-section-number">2</span> Multicrispr</a><ul> +<li><a href="#install"><span class="toc-section-number">2.1</span> Install</a></li> +<li><a href="#define-targets"><span class="toc-section-number">2.2</span> Define targets</a></li> +<li><a href="#transform-targets"><span class="toc-section-number">2.3</span> Transform targets</a></li> +<li><a href="#find-spacers"><span class="toc-section-number">2.4</span> Find spacers</a></li> +<li><a href="#add-offtargets"><span class="toc-section-number">2.5</span> Add offtargets</a></li> +<li><a href="#add-efficiency"><span class="toc-section-number">2.6</span> Add efficiency</a></li> +<li><a href="#return-spacer-granges"><span class="toc-section-number">2.7</span> Return spacer GRanges</a></li> +</ul></li> +<li><a href="#references">References</a></li> +</ul> +</div> + +<!--  --> +<div id="background" class="section level1"> +<h1><span class="header-section-number">1</span> Background</h1> +<div id="crisprcas9-and-prime-editing" class="section level2"> +<h2><span class="header-section-number">1.1</span> Crispr/Cas9 and Prime Editing</h2> +<p><strong>Crispr/Cas9</strong> is a prokaryotic immune system turned into a genome engineering tool, with a Cas9/gRNA complex at the heart of its functioning. The <strong>gRNA</strong> (guide RNA) contains a 20 nucleotide (proto)<strong>spacer</strong> which guides the complex to a genomic locus with identical sequence, but only when followed by an <em>NGG</em> <strong>PAM</strong> (protospacer adjacent motif (see Figure 1A). The <strong>Cas9</strong> enzyme performs some effector action at that locus: <em>wildtype Cas9</em> cuts both strands after spacer nucleotide 17, <em>Cas9Nickase</em> cuts only a single strand (two variants exist, cutting respectively each of the strands), while catalytically dead <em>dCas9</em>, fused to some effector domain (KRAB, VPR, APEX) performs some alternative action (e.g. KRAB represses, VPR activates, APEX biotinylates).</p> +<p><strong>Prime Editing</strong> extends this further, by coupling Cas9 to a Reverse Transcriptase (RT). As shown in Figure 1, the guide RNA is extended with a 3’ extension that contains primer binding site (binding a complementary DNA region that acts as a primer for reverse transcription) and reverse transcription template (the template used for reverse transcription). The spacer still acts as targeting agent, guiding the Cas9/RT complex to targeted genomic locus.</p> +<div class="figure"><span id="fig:unnamed-chunk-2"></span> +<img src="data:image/png;base64,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RLorzRMsIrJ1hg8ZMqR+yJAhjVYed9xxAXBIfvHUU08NBw0atHl7WVkZX/jCF3r37t375M6rqoiI5CkJFhHZOm+98847Perr6xutfPnllwmC4PVoMZfNZrcIzOVymFmuE+ooIiIiItKx+vXrN+uSSy6pz+VyZma2atUqGz58+DpgfFRkt759+64vHDJRV1dnu++++wfA8SWsuoiIiIhIuw3o16/fQ8OGDftgzJgxa6uqqmp79ep1VWGBysrKb+y8887rfv3rX9sf//hHGzly5Lr+/fvfXKoKi4iIiIh0BAfsB5yMv0Ncc47v27fvTQMGDJgGnNZpNRMRERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERGR7dJAIFHqSoiIiIiIdIZxlZWVq/v27Vvbs2fPDX369LkWSDUps0///v3/NGjQoIVVVVW/AAaXoJ4iIiIiIh3i8P79+69fsGCBmZm99957duKJJ9b26dPnJwVljqqqqlp37bXX5u677z67/PLL6ysqKt4DdilVpUVERERE2m3gwIFzbr755tAKvPPOO1ZeXr6RqDe4X79+z82cObOwiP3gBz+o79+//4wSV19EREREpHj9+/d/denSpdbUbrvt9l9gBNCrV69edblcrtH25cuXW58+fVaXuv4iIt1RUOoKiIjs6BKJxKvLli1rtK62tpbVq1f3AN4AsmEYksvlGpXZuHEjQRBs6ryaioiIiIh0nJOGDRu2bvny5WZmtmnTJvvMZz5T169fv7/kC/Tv3/+h3/zmN426gi+66KKNffr0+XUpKy4iIiIi0m49e/b8cq9evWoPOuigtX379s326dNnMVBZUGTvysrKD84999zcb3/7Wxs3btz6Pn36vABUlajKIiLdmit1BUREupBewIHASOBc4PiCbQng+SAI5lZVVZW///77jwLTAA2HEBEREZEuIYkfC3xgwbqzgEdLUx0RERERkc4xFfhV9H8HLAZOLVltREREREQ6wVDgPfy44GrgCTQETURERES6gb8D5wMPAZNKXBcRERERkU5xMvASsAzNyy4iIiIi3YQDaoHvlboiIiLSmHomRES2ncOBemC3UldERERERKSzzAQuB9YA/UtcFxERERGRbW5/YAXQE7gV+GppqyMi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" alt="gRNAs for Crispr/Cas9 (A) and Prime Editing" width="100%" class="smallfigure" /> +<p class="caption"> +Figure 1: <span class="caption-title">gRNAs for Crispr/Cas9 (A) and Prime Editing</span><br> +</p> +</div> +</div> +<div id="guide-rna-design" class="section level2"> +<h2><span class="header-section-number">1.2</span> Guide RNA design</h2> +<p><strong>Guide RNA design</strong> involves finding good guide RNAs to hit the targets of interest. Plasmids with guide RNA scaffolds, ready for cloning desired spacers into, can be readily ordered from AddGene. The actual task, therefore, boils down to finding good spacers for the targets of interest. For prime editing, it additionally involves finding appropriate primer binding site and reverse transcription template to edit the target site of interest.</p> +<p>A <strong>good spacer</strong> needs to fulfill two requirements.</p> +<ol style="list-style-type: decimal"> +<li><p><strong>Minimal off-target</strong> (mis)matches, so that only intended targets are hit.</p> +<ul> +<li>Crispr gRNAs can hit exact (with identical and alternate NGG pam), as well as (up-to 2) mismatch offtargets.</li> +<li>Prime Editing is much more specific, hitting only exact offtargets.</li> +</ul></li> +<li><p><strong>Maximal on-target</strong> efficiency. Over the years, several sequence-to-efficiency prediction models have been developed, of which the Doench 2016 score has currently become the community standard. The score is not perfect, and examples can be found where the prediction and the actual outcome differ. Yet, to-date it is the best heuristic to predict on-target efficiency, worth making use of.</p></li> +</ol> +</div> +</div> +<div id="multicrispr" class="section level1"> +<h1><span class="header-section-number">2</span> Multicrispr</h1> +<p>Multicrispr was developed to make guide RNA design easier. As shown below, it contains functions to <strong>define</strong> and <strong>transform</strong> targets, <strong>find spacers</strong>, compute/add <strong>offtarget counts</strong> and <strong>efficiency scores</strong> (Doench 2016), and finally return all of this as a <strong>GRanges</strong> object.</p> +<p><img src="data:image/png;base64,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" width="80%" class="widefigure" /></p> +<div id="install" class="section level2"> +<h2><span class="header-section-number">2.1</span> Install</h2> +<p>Installing <strong>multicrispr</strong> is simple:</p> +<pre class="r"><code>url <- 'https://gitlab.gwdg.de/loosolab/software/multicrispr.git' +remotes::install_git(url, repos = BiocManager::repositories())</code></pre> +<p>Doench et al. (2016) ’s python package <strong>azimuth</strong> for on-target efficiency prediction using their method can be easily installed and activated using reticulate:</p> +<pre class="r"><code># Install - run R(Studio) with admin privileges for this to work! + reticulate::conda_create('azienv', 'python=2.7') + reticulate::conda_install('azienv', 'azimuth', pip = TRUE) + reticulate::conda_install('azienv', 'scikit-learn==0.17.1', pip = TRUE)</code></pre> +<pre class="r"><code># Activate + reticulate::use_condaenv('azienv')</code></pre> +<p>Bowtie-indexed genomes for quick offtarget analysis can be installed using <code>index_genome</code>. For the two genomes used in the examples, mm10 and hg38, the functions downloads pre-build indexes from our data server, allowing a quick exploration (set <code>download=FALSE</code> to build index anew):</p> +<pre class="r"><code>index_genome(BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10) +index_genome(BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 )</code></pre> +<!-- 1. Install conda for python 2.7 --> +<!-- 2. Create a new conda environment: `conda create --name azimuthenv python=2.7` --> +<!-- 3. Activate conda environment: `conda activate azimuthenv` --> +<!-- 4. Install module azimuth: `pip install azimuth` --> +<!-- 5. Install scikit-learn: `pip install scikit-learn==0.17.1` --> +</div> +<div id="define-targets" class="section level2"> +<h2><span class="header-section-number">2.2</span> Define targets</h2> +<p><img src="data:image/png;base64,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" width="70%" class="smallfigure" /></p> +<p><code>bed_to_granges</code> converts a (0-based) BED coordinate file into a (1-based) GRanges.<br /> +An example is loading the 1974 binding sites of the transcription factor SRF:</p> +<pre class="r"><code>require(magrittr) +require(multicrispr) +bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') +tfbs0 <- bed_to_granges(bedfile, genome = 'mm10') +## Read SRF.bed into GRanges +## 1974 ranges on 21 chromosomes</code></pre> +<p><img src="data:image/png;base64,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" width="100%" /></p> +<p><code>genes_to_granges</code> and <code>genefile_to_granges</code> convert entrez/ensembl gene identifiers into GRanges using <code>txdb</code> gene models. +An example that loads of a small subset of the 1974 SRF binding sites:</p> +<pre class="r"><code>require(multicrispr) +entrezfile <- system.file('extdata/SRF.entrez', package = 'multicrispr') +txdb <- TxDb.Mmusculus.UCSC.mm10.knownGene::TxDb.Mmusculus.UCSC.mm10.knownGene +sometfbs0 <- genefile_to_granges(entrezfile, txdb, complement = TRUE) +## Convert 10 genes to 10 GRanges +## 20 ranges after adding inverse strands</code></pre> +<p><img src="data:image/png;base64,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" width="100%" /></p> +<p><code>char_to_granges</code> uses a 1-based coordinate vector to specify the GRanges.<br /> +It can be used to define four prime editing sites mentioned by Anzalone et al. (2019):</p> +<pre class="r"><code># char_to_granges: Anzalone et al. (2019) prime editing targets +bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +pe0 <- char_to_granges(c(HBB = 'chr11:5227002:-'), bsgenome) +plot_intervals(pe0)</code></pre> +<p><img src="data:image/png;base64,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" width="336" /></p> +</div> +<div id="transform-targets" class="section level2"> +<h2><span class="header-section-number">2.3</span> Transform targets</h2> +<p><img src="data:image/png;base64,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" width="70%" class="smallfigure" /></p> +<p>As a second step, the original targets may require transformation. The functions <code>extend</code>, <code>up_flank</code> (upstream flanks), <code>down_flank</code> (downstream flanks), and <code>double_flank</code> (double flanks) can be used to update the target ranges as required.</p> +<pre class="r"><code># Extend +targets <- pe0 +invisible(extend(targets, -22, 22, plot = TRUE))</code></pre> +<p><img src="data:image/png;base64,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" width="65%" /></p> +<pre class="r"><code># Up flank +invisible(up_flank( targets, -200, -1, plot = TRUE))</code></pre> +<p><img src="data:image/png;base64,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" width="65%" /></p> +<pre class="r"><code># Down flank +invisible(down_flank( targets, 1, 200, plot = TRUE))</code></pre> +<p><img src="data:image/png;base64,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" width="65%" /></p> +<pre class="r"><code># Double flank +invisible(double_flank(targets, -200, -1, +1, +200, plot = TRUE)) +## 2 flank ranges: 1 up + 1 down</code></pre> +<p><img src="data:image/png;base64,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" width="65%" /></p> +</div> +<div id="find-spacers" class="section level2"> +<h2><span class="header-section-number">2.4</span> Find spacers</h2> +<p><img src="data:image/png;base64,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" width="70%" class="smallfigure" /></p> +<p>The next step is to find N20 spacers followed by NGG pam sites. +This can be done with <code>find_spacers</code>, after extending target range(s) to prime editing neighbourhood(s):</p> +<pre class="r"><code>bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +neighbourhood <- extend_for_pe(targets, bsgenome) +spacers <- find_spacers(neighbourhood, bsgenome, complement = FALSE)</code></pre> +<p><img src="data:image/png;base64,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" width="288" /></p> +<p>For prime editing, however, it is better to use <code>find_pe_spacers</code>, which performs target to neighbourhood extension implicitly, and also adds 3’ extension (Fig 1) to returned spacer GRanges.</p> +<pre class="r"><code>spacers <- find_pe_spacers(targets, bsgenome=bsgenome) </code></pre> +<p><img src="data:image/png;base64,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" width="316.8" /></p> +<p>This finds prime editing sites that follow Anzalone et al. (2019)’s recommended default settings: a 13-nucleotide primer and a 16-nucleotide reverse transcription template. These settings can be easily altered (e.g. Anzalone et al. report success with reverse transcription templates of up to 48 nucleotides) by:</p> +<pre class="r"><code>spacers <- find_pe_spacers(targets, bsgenome=bsgenome, nrt = 48) </code></pre> +<p><img src="data:image/png;base64,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" width="345.6" /></p> +</div> +<div id="add-offtargets" class="section level2"> +<h2><span class="header-section-number">2.5</span> Add offtargets</h2> +<p><img src="data:image/png;base64,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" width="70%" class="smallfigure" /></p> +<pre class="r"><code>if (has_been_indexed(bsgenome)){ + spacers %<>% add_offtargets(bsgenome, mismatch = 0, plot = TRUE) +} +## Add genome counts +## Expand iupac ambiguities in pam +## Write reads to ~/multicrisprout/spacers.fa +## Map reads: ~/multicrisprout/spacers/spacers_to_BSgenome.Hsapiens.UCSC.hg38.txt +## Load results +## Count matches +## Calculate offtargets for 6 spacers</code></pre> +<p><img src="data:image/png;base64,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" width="345.6" /></p> +</div> +<div id="add-efficiency" class="section level2"> +<h2><span class="header-section-number">2.6</span> Add efficiency</h2> +<p><img src="data:image/png;base64,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" width="70%" class="smallfigure" /></p> +<p>Not all N<sub>20</sub>NGG gRNA sequences target equally well (even when matching sequence perfectly). For each position in the 23-bp gRNA sequence, the nucleotide present in current, previous and next position has an effect on targeting efficiency. The current community standard for on-target efficiency prediction is that of Doench et al. (2016), which can be computed and added with <code>add_efficiency</code>:</p> +<pre class="r"><code>if (reticulate::py_module_available('azimuth')){ + spacers %<>% add_efficiency(bsgenome, 'Doench2016') +} +## Score crispr spacers +## Add (4-23-3) contextseqs +## Score contextseqs with Doench2016 (azimuth) +## Run Doench2016 1 times on 10000-seq chunks to preserve memory +## No model file specified, using V3_model_nopos +## Completed in 1.2 secs</code></pre> +<p><img src="data:image/png;base64,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" width="345.6" /></p> +</div> +<div id="return-spacer-granges" class="section level2"> +<h2><span class="header-section-number">2.7</span> Return spacer GRanges</h2> +<pre class="r"><code> spacers +## GRanges object with 6 ranges and 14 metadata columns: +## seqnames ranges strand | crisprcontext +## <Rle> <IRanges> <Rle> | <character> +## HBB_1 chr11 5226958-5226977 + | TCATCCACGTTCACCTTGCCCCACAGGGCA +## HBB_2 chr11 5226959-5226978 + | CATCCACGTTCACCTTGCCCCACAGGGCAG +## HBB_3 chr11 5226968-5226987 + | TCACCTTGCCCCACAGGGCAGTAACGGCAG +## HBB_4 chr11 5227003-5227022 - | ACACCATGGTGCATCTGACTCCTGAGGAGA +## HBB_5 chr11 5226984-5227003 + | GGCAGTAACGGCAGACTTCTCCTCAGGAGT +## HBB_6 chr11 5227021-5227040 - | ACTAGCAACCTCAAACAGACACCATGGTGC +## targetname targetstart targetend crisprname crisprspacer +## <character> <integer> <integer> <character> <character> +## HBB_1 HBB 5227002 5227002 HBB_1 CCACGTTCACCTTGCCCCAC +## HBB_2 HBB 5227002 5227002 HBB_2 CACGTTCACCTTGCCCCACA +## HBB_3 HBB 5227002 5227002 HBB_3 CTTGCCCCACAGGGCAGTAA +## HBB_4 HBB 5227002 5227002 HBB_4 CATGGTGCATCTGACTCCTG +## HBB_5 HBB 5227002 5227002 HBB_5 GTAACGGCAGACTTCTCCTC +## HBB_6 HBB 5227002 5227002 HBB_6 GCAACCTCAAACAGACACCA +## crisprpam primer +## <character> <character> +## HBB_1 AGG GTTCACCTTGCCC +## HBB_2 GGG TTCACCTTGCCCC +## HBB_3 CGG CCCCACAGGGCAG +## HBB_4 AGG GTGCATCTGACTC +## HBB_5 AGG CGGCAGACTTCTC +## HBB_6 TGG CCTCAAACAGACA +## revtranscript +## <character> +## HBB_1 CACAGGGCAGTAACGGCAGACTTCTCCTCAGGAGTCAGATGCACCATG +## HBB_2 ACAGGGCAGTAACGGCAGACTTCTCCTCAGGAGTCAGATGCACCATGG +## HBB_3 TAACGGCAGACTTCTCCTCAGGAGTCAGATGCACCATGGTGTCTGTTT +## HBB_4 CTGAGGAGAAGTCTGCCGTTACTGCCCTGTGGGGCAAGGTGAACGTGG +## HBB_5 CTCAGGAGTCAGATGCACCATGGTGTCTGTTTGAGGTTGCTAGTGAAC +## HBB_6 CCATGGTGCATCTGACTCCTGAGGAGAAGTCTGCCGTTACTGCCCTGT +## extension G0 +## <character> <integer> +## HBB_1 CATGGTGCATCTGACTCCTGAGGAGAAGTCTGCCGTTACTGCCCTGTGGGGCAAGGTGAAC 1 +## HBB_2 CCATGGTGCATCTGACTCCTGAGGAGAAGTCTGCCGTTACTGCCCTGTGGGGCAAGGTGAA 1 +## HBB_3 AAACAGACACCATGGTGCATCTGACTCCTGAGGAGAAGTCTGCCGTTACTGCCCTGTGGGG 1 +## HBB_4 CCACGTTCACCTTGCCCCACAGGGCAGTAACGGCAGACTTCTCCTCAGGAGTCAGATGCAC 2 +## HBB_5 GTTCACTAGCAACCTCAAACAGACACCATGGTGCATCTGACTCCTGAGGAGAAGTCTGCCG 1 +## HBB_6 ACAGGGCAGTAACGGCAGACTTCTCCTCAGGAGTCAGATGCACCATGGTGTCTGTTTGAGG 2 +## off off0 Doench2016 +## <numeric> <numeric> <numeric> +## HBB_1 0 0 0.462600534483403 +## HBB_2 0 0 0.611140169152868 +## HBB_3 0 0 0.485226524206282 +## HBB_4 1 1 0.666241339730174 +## HBB_5 0 0 0.517610901468318 +## HBB_6 1 1 0.68921726226521 +## ------- +## seqinfo: 455 sequences (1 circular) from hg38 genome</code></pre> +</div> +</div> +<div id="references" class="section level1 unnumbered"> +<h1>References</h1> +<p>Anzalone, A.V., Randolph, P.B., Davis, J.R. et al. Search-and-replace genome editing without double-strand breaks or donor DNA. Nature 576, 149–157 (2019). <a href="https://doi.org/10.1038/s41586-019-1711-4" class="uri">https://doi.org/10.1038/s41586-019-1711-4</a></p> +<p>Doench et al. (2016). Optimized sgRNA design to maximize activity and minimize off-target effects of CRISPR-Cas9. Nature Biotechnology, 34(7), <a href="doi:10.1038/nbt.3437" class="uri">doi:10.1038/nbt.3437</a></p> +</div> + + + + +</div> + +<script> + +// add bootstrap table styles to pandoc tables +function bootstrapStylePandocTables() { + $('tr.header').parent('thead').parent('table').addClass('table table-condensed'); +} +$(document).ready(function () { + bootstrapStylePandocTables(); +}); + + +</script> + +<!-- tabsets --> + +<script> +$(document).ready(function () { + window.buildTabsets("TOC"); +}); + +$(document).ready(function () { + $('.tabset-dropdown > .nav-tabs > li').click(function () { + $(this).parent().toggleClass('nav-tabs-open') + }); +}); +</script> + +<!-- code folding --> + + +<script type="text/x-mathjax-config"> + MathJax.Hub.Config({ + "HTML-CSS": { + styles: { + ".MathJax_Display": { + "text-align": "center", + padding: "0px 150px 0px 65px", + margin: "0px 0px 0.5em" + }, + } + } + }); +</script> +<!-- dynamically load mathjax for compatibility with self-contained --> +<script> + (function () { + var script = document.createElement("script"); + script.type = "text/javascript"; + script.src = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"; + document.getElementsByTagName("head")[0].appendChild(script); + })(); +</script> + +</body> +</html> diff --git a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-10-1.png b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-10-1.png index ed429de9e83776691cb8fbfab84ac5b3b4c1be22..82a5112650f24bc5e8b21578e5c10d27480e1878 100644 Binary files a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-10-1.png and b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-10-1.png differ diff --git a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-11-1.png b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-11-1.png index 2266ec280fe82757c30e5db092390ba3dd9fbe7c..75faf2c27c49351f5cf1c7af2fa0a949095b27c0 100644 Binary files a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-11-1.png and b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-11-1.png differ diff --git a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-12-1.png b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-12-1.png index 4558e4ae38c368898376816fd69bf134a660b407..3e4498be6b66b681ceed4864c913573254b6fc7d 100644 Binary files a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-12-1.png and b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-12-1.png differ diff --git a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-13-1.png b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-13-1.png index 8cd7ab5ee66ba40abcdc5ea8934b0cc4d555f477..8bb93e21848adf18ba163c3a479996c582b2c857 100644 Binary files a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-13-1.png and b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-13-1.png differ diff --git a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-13-2.png b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-13-2.png index 67297c9795b716464805d50179ab93b966377a9b..fcdafd3a8e0191d62ac051002f351d8b4967b219 100644 Binary files a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-13-2.png and b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-13-2.png differ diff --git a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-13-3.png b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-13-3.png index 07ea59409fe894341ec130709a4faae54dcdad4e..0a74471a710bc98b14af7ed50422bdbe2642ff48 100644 Binary files a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-13-3.png and b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-13-3.png differ diff --git a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-13-4.png b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-13-4.png index 9b48a739b20af2861710f107fc13a24de1e14c02..42d899f63c528f9d8321be869ec8f65248b38de2 100644 Binary files a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-13-4.png and b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-13-4.png differ diff --git a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-15-1.png b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-15-1.png index 4b8a2b03713fa453dc8377873beaad13c0279d4e..2d9374c61343c09777c3d13b381eb48527b7f70d 100644 Binary files a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-15-1.png and b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-15-1.png differ diff --git a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-16-1.png b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-16-1.png index 212a2722854da8ed75c8e243e90cd97c79b93a35..c39769fd347f1ffa8905fabae829c3dfca625573 100644 Binary files a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-16-1.png and b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-16-1.png differ diff --git a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-17-1.png b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-17-1.png index f61a5ae350b11ded660563f36d297e14a289dfa2..8678eb0e43539d19f2bdb77e98634db8d6411e1f 100644 Binary files a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-17-1.png and b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-17-1.png differ diff --git a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-19-1.png b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-19-1.png index 5d89a5b05d2473f1e295705b6959e02fa3d5e3d3..1e800ca4da786bdc9a07c51c25a9c2ac11c8cbae 100644 Binary files a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-19-1.png and b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-19-1.png differ diff --git a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-21-1.png b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-21-1.png index 73a9e53b4788f5554295e7d0a1e946bb3efabff2..aecfa24983df697863a60dd77f1ebadfacb66688 100644 Binary files a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-21-1.png and b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-21-1.png differ diff --git a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-6-1.png b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-6-1.png index c3820baf6dba6b9dc2faed753d81a91eeb50c501..657860428f5e146078c627f84f042cfc7013af5c 100644 Binary files a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-6-1.png and b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-6-1.png differ diff --git a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-7-1.png b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-7-1.png index 25f9288c91d94999a0239567f5d2e46b8532ddfb..9d4a111aba52abaac62a05d6fd8ca45c210616b4 100644 Binary files a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-7-1.png and b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-7-1.png differ diff --git a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-8-1.png b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-8-1.png index 16c6a8c9f64eabcae223ef9eb4d1656cd3e62e49..0879f481a3ef9f6d2eb921b6545db79ca15434c5 100644 Binary files a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-8-1.png and b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-8-1.png differ diff --git a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-9-1.png b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-9-1.png index ab87411df8a8b1fa3081cb1c993637c7feec2e0a..6560f7059deb6358ea9533b2868136496366dcc3 100644 Binary files a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-9-1.png and b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-9-1.png differ diff --git a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-9-2.png b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-9-2.png index f6f3b82a440a99e6220afa147a37c9beb5b41a1f..1b5ada938144d6f9eb21f5dc2dfb61373558d6e3 100644 Binary files a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-9-2.png and b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-9-2.png differ diff --git a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-9-3.png b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-9-3.png index b176ae69e807f63f1951ff0b66bdbc489417274b..ac1e4dedbd4d5deb35101d123ec227a89162af26 100644 Binary files a/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-9-3.png and b/public/articles/designing_grna_libraries_files/figure-html/unnamed-chunk-9-3.png differ diff --git a/public/articles/index.html b/public/articles/index.html index cc38d29e2266cb70566ad5a0a4b997ea4fa80800..c21ba053ad6c23f33069c585b95402ad285f1a40 100644 --- a/public/articles/index.html +++ b/public/articles/index.html @@ -1,146 +1,146 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Articles • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Articles" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-article-index"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Articles</h1> - </div> - - <div class="section "> - <h3>All vignettes</h3> - <p class="section-desc"></p> - - <ul> - <li><a href="designing_grna_libraries.html">Using multicrispr for gRNA design</a></li> - </ul> - </div> - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Articles • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Articles" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-article-index"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Articles</h1> + </div> + + <div class="section "> + <h3>All vignettes</h3> + <p class="section-desc"></p> + + <ul> + <li><a href="designing_grna_libraries.html">Using multicrispr for gRNA design</a></li> + </ul> + </div> + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/authors.html b/public/authors.html index 04794c9990e4fab46f1a89b12fb012097864827d..8516951200035ee82068a42ea342b8a0707a0957 100644 --- a/public/authors.html +++ b/public/authors.html @@ -1,171 +1,171 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Authors • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="pkgdown.css" rel="stylesheet"> -<script src="pkgdown.js"></script> - - - - -<meta property="og:title" content="Authors" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-authors"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="contents col-md-9"> - <div class="page-header"> - <h1>Authors</h1> - </div> - - <ul class="list-unstyled"> - <li> - <p><strong>Aditya Bhagwat</strong>. Author, maintainer. - </p> - </li> - <li> - <p><strong>Johannes Graumann</strong>. Scientific advisor. - </p> - </li> - <li> - <p><strong>Mette Bentsen</strong>. Contributor. - </p> - </li> - <li> - <p><strong>Jens Preussner</strong>. Contributor. - </p> - </li> - <li> - <p><strong>Michael Lawrence</strong>. Contributor. - </p> - </li> - <li> - <p><strong>Herve Pages</strong>. Contributor. - </p> - </li> - <li> - <p><strong>Mario Looso</strong>. Scientific advisor, research team head. - </p> - </li> - </ul> - - </div> - -</div> - - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Authors • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="pkgdown.css" rel="stylesheet"> +<script src="pkgdown.js"></script> + + + + +<meta property="og:title" content="Authors" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-authors"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="contents col-md-9"> + <div class="page-header"> + <h1>Authors</h1> + </div> + + <ul class="list-unstyled"> + <li> + <p><strong>Aditya Bhagwat</strong>. Author, maintainer. + </p> + </li> + <li> + <p><strong>Johannes Graumann</strong>. Scientific advisor. + </p> + </li> + <li> + <p><strong>Mette Bentsen</strong>. Contributor. + </p> + </li> + <li> + <p><strong>Jens Preussner</strong>. Contributor. + </p> + </li> + <li> + <p><strong>Michael Lawrence</strong>. Contributor. + </p> + </li> + <li> + <p><strong>Herve Pages</strong>. Contributor. + </p> + </li> + <li> + <p><strong>Mario Looso</strong>. Scientific advisor, research team head. + </p> + </li> + </ul> + + </div> + +</div> + + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/index.html b/public/index.html index ba91c842f919893944ac586eba0c5bf523b24770..b0a4f3c6d50ea9915c692b5e9f776e8ea96b941c 100644 --- a/public/index.html +++ b/public/index.html @@ -13,119 +13,119 @@ <script src="pkgdown.js"></script><meta property="og:title" content="Multi-locus multi-purpose Crispr/Cas design"> <meta property="og:description" content="Contains functions to facilitate the design of a multi-locus Crispr/Cas library."> <meta name="twitter:card" content="summary"> -<!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <![endif]--> </head> -<body> - <div class="container template-home"> - <header><div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> +<body> + <div class="container template-home"> + <header><div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> <ul class="nav navbar-nav"> -<li> - <a href="index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> +<li> + <a href="index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> <ul class="dropdown-menu" role="menu"> -<li> - <a href="articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> +<li> + <a href="articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> </ul> -</li> +</li> </ul> <ul class="nav navbar-nav navbar-right"></ul> </div> -<!--/.nav-collapse --> +<!--/.nav-collapse --> </div> -<!--/.container --> +<!--/.container --> </div> -<!--/.navbar --> - - - - </header><div class="row"> - <div class="contents col-md-9"> - -<center> <div class="page-header"><h1> multicrispr </h1></div> </center> -<p><img src="inst/extdata/readme_portrait.png"></p> -<div id="installation" class="section level3"> -<h3 class="hasAnchor"> -<a href="#installation" class="anchor"></a>Installation</h3> -<div class="sourceCode" id="cb1"><pre class="sourceCode R"><code class="sourceCode r"><a class="sourceLine" id="cb1-1" title="1"><span class="co"># Install multicrispr</span></a> -<a class="sourceLine" id="cb1-2" title="2"> remotes<span class="op">::</span><span class="kw"><a href="https://rdrr.io/pkg/remotes/man/install_git.html">install_git</a></span>(<span class="st">'https://gitlab.gwdg.de/loosolab/software/multicrispr.git'</span>, </a> -<a class="sourceLine" id="cb1-3" title="3"> <span class="dt">repos =</span> BiocManager<span class="op">::</span><span class="kw"><a href="https://rdrr.io/pkg/BiocManager/man/repositories.html">repositories</a></span>())</a> -<a class="sourceLine" id="cb1-4" title="4"><span class="co"># Install azimuth</span></a> -<a class="sourceLine" id="cb1-5" title="5"> <span class="kw"><a href="https://rdrr.io/r/utils/install.packages.html">install.packages</a></span>(<span class="st">'reticulate'</span>)</a> -<a class="sourceLine" id="cb1-6" title="6"> reticulate<span class="op">::</span><span class="kw"><a href="https://rdrr.io/pkg/reticulate/man/conda-tools.html">conda_create</a></span>(<span class="st">'azienv'</span>, <span class="kw"><a href="https://rdrr.io/r/base/c.html">c</a></span>(<span class="st">'python=2.7'</span>))</a> -<a class="sourceLine" id="cb1-7" title="7"> reticulate<span class="op">::</span><span class="kw"><a href="https://rdrr.io/pkg/reticulate/man/use_python.html">use_condaenv</a></span>(<span class="st">'azienv'</span>)</a> -<a class="sourceLine" id="cb1-8" title="8"> reticulate<span class="op">::</span><span class="kw"><a href="https://rdrr.io/pkg/reticulate/man/py_install.html">py_install</a></span>(<span class="kw"><a href="https://rdrr.io/r/base/c.html">c</a></span>(<span class="st">'azimuth'</span>, <span class="st">'scikit-learn==0.17.1'</span>), <span class="st">'azienv'</span>, <span class="dt">pip =</span> <span class="ot">TRUE</span>)</a> -<a class="sourceLine" id="cb1-9" title="9"><span class="co"># Index mm10 and hg38</span></a> -<a class="sourceLine" id="cb1-10" title="10"> BiocManager<span class="op">::</span><span class="kw"><a href="https://rdrr.io/pkg/BiocManager/man/install.html">install</a></span>(<span class="st">'BSgenome.Mmusculus.UCSC.mm10'</span>)</a> -<a class="sourceLine" id="cb1-11" title="11"> BiocManager<span class="op">::</span><span class="kw"><a href="https://rdrr.io/pkg/BiocManager/man/install.html">install</a></span>(<span class="st">'BSgenome.Hsapiens.UCSC.hg38'</span>)</a> -<a class="sourceLine" id="cb1-12" title="12"> <span class="kw"><a href="reference/index_genome.html">index_genome</a></span>(BSgenome.Mmusculus.UCSC.mm10<span class="op">::</span>BSgenome.Mmusculus.UCSC.mm10)</a> -<a class="sourceLine" id="cb1-13" title="13"> <span class="kw"><a href="reference/index_genome.html">index_genome</a></span>(BSgenome.Hsapiens.UCSC.hg38<span class="op">::</span>BSgenome.Hsapiens.UCSC.hg38)</a></code></pre></div> -</div> - - </div> - - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <div class="license"> -<h2>License</h2> +<!--/.navbar --> + + + + </header><div class="row"> + <div class="contents col-md-9"> + +<center> <div class="page-header"><h1> multicrispr </h1></div> </center> +<p><img src="inst/extdata/readme_portrait.png"></p> +<div id="installation" class="section level3"> +<h3 class="hasAnchor"> +<a href="#installation" class="anchor"></a>Installation</h3> +<div class="sourceCode" id="cb1"><pre class="sourceCode R"><code class="sourceCode r"><a class="sourceLine" id="cb1-1" title="1"><span class="co"># Install multicrispr</span></a> +<a class="sourceLine" id="cb1-2" title="2"> remotes<span class="op">::</span><span class="kw"><a href="https://rdrr.io/pkg/remotes/man/install_git.html">install_git</a></span>(<span class="st">'https://gitlab.gwdg.de/loosolab/software/multicrispr.git'</span>, </a> +<a class="sourceLine" id="cb1-3" title="3"> <span class="dt">repos =</span> BiocManager<span class="op">::</span><span class="kw"><a href="https://rdrr.io/pkg/BiocManager/man/repositories.html">repositories</a></span>())</a> +<a class="sourceLine" id="cb1-4" title="4"><span class="co"># Install azimuth</span></a> +<a class="sourceLine" id="cb1-5" title="5"> <span class="kw"><a href="https://rdrr.io/r/utils/install.packages.html">install.packages</a></span>(<span class="st">'reticulate'</span>)</a> +<a class="sourceLine" id="cb1-6" title="6"> reticulate<span class="op">::</span><span class="kw"><a href="https://rdrr.io/pkg/reticulate/man/conda-tools.html">conda_create</a></span>(<span class="st">'azienv'</span>, <span class="kw"><a href="https://rdrr.io/r/base/c.html">c</a></span>(<span class="st">'python=2.7'</span>))</a> +<a class="sourceLine" id="cb1-7" title="7"> reticulate<span class="op">::</span><span class="kw"><a href="https://rdrr.io/pkg/reticulate/man/use_python.html">use_condaenv</a></span>(<span class="st">'azienv'</span>)</a> +<a class="sourceLine" id="cb1-8" title="8"> reticulate<span class="op">::</span><span class="kw"><a href="https://rdrr.io/pkg/reticulate/man/py_install.html">py_install</a></span>(<span class="kw"><a href="https://rdrr.io/r/base/c.html">c</a></span>(<span class="st">'azimuth'</span>, <span class="st">'scikit-learn==0.17.1'</span>), <span class="st">'azienv'</span>, <span class="dt">pip =</span> <span class="ot">TRUE</span>)</a> +<a class="sourceLine" id="cb1-9" title="9"><span class="co"># Index mm10 and hg38</span></a> +<a class="sourceLine" id="cb1-10" title="10"> BiocManager<span class="op">::</span><span class="kw"><a href="https://rdrr.io/pkg/BiocManager/man/install.html">install</a></span>(<span class="st">'BSgenome.Mmusculus.UCSC.mm10'</span>)</a> +<a class="sourceLine" id="cb1-11" title="11"> BiocManager<span class="op">::</span><span class="kw"><a href="https://rdrr.io/pkg/BiocManager/man/install.html">install</a></span>(<span class="st">'BSgenome.Hsapiens.UCSC.hg38'</span>)</a> +<a class="sourceLine" id="cb1-12" title="12"> <span class="kw"><a href="reference/index_genome.html">index_genome</a></span>(BSgenome.Mmusculus.UCSC.mm10<span class="op">::</span>BSgenome.Mmusculus.UCSC.mm10)</a> +<a class="sourceLine" id="cb1-13" title="13"> <span class="kw"><a href="reference/index_genome.html">index_genome</a></span>(BSgenome.Hsapiens.UCSC.hg38<span class="op">::</span>BSgenome.Hsapiens.UCSC.hg38)</a></code></pre></div> +</div> + + </div> + + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <div class="license"> +<h2>License</h2> <ul class="list-unstyled"> -<li>GPL</li> +<li>GPL</li> </ul> -</div> -<div class="developers"> -<h2>Developers</h2> +</div> +<div class="developers"> +<h2>Developers</h2> <ul class="list-unstyled"> -<li>Aditya Bhagwat <br><small class="roles"> Author, maintainer </small> </li> -<li><a href="authors.html">All authors...</a></li> +<li>Aditya Bhagwat <br><small class="roles"> Author, maintainer </small> </li> +<li><a href="authors.html">All authors...</a></li> </ul> -</div> - - </div> -</div> - - - <footer><div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - +</div> + + </div> +</div> + + + <footer><div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + </footer> -</div> - - - - +</div> + + + + </body> </html> diff --git a/public/inst/extdata/01_define_targets.png b/public/inst/extdata/01_define_targets.png index 062db963d5453ee3e985082a798d7c22b532de4b..41b1209e34340effb1040841fa717ce1fd8b0263 100644 Binary files a/public/inst/extdata/01_define_targets.png and b/public/inst/extdata/01_define_targets.png differ diff --git a/public/inst/extdata/02_transform.png b/public/inst/extdata/02_transform.png index 5db5e3e8b70b6dcd24d5f3067af7e5a57886b899..627a91b0553f3d497033412131e69487677c1ed5 100644 Binary files a/public/inst/extdata/02_transform.png and b/public/inst/extdata/02_transform.png differ diff --git a/public/inst/extdata/03_find.png b/public/inst/extdata/03_find.png index bfc9e0af82590bb2f3bc5ae56aab7648be91634d..e71a4b9244b8561bfc8b46e07988848a34ace12f 100644 Binary files a/public/inst/extdata/03_find.png and b/public/inst/extdata/03_find.png differ diff --git a/public/inst/extdata/04_offtargets.png b/public/inst/extdata/04_offtargets.png index 63fdd2f707d370b5b890a602da3c5787ffb4aee8..c89eeff2f3fcc03040c6033ce7c1c65b94182ed4 100644 Binary files a/public/inst/extdata/04_offtargets.png and b/public/inst/extdata/04_offtargets.png differ diff --git a/public/inst/extdata/05_efficiency.png b/public/inst/extdata/05_efficiency.png index c0002c07c42a6c321d8c2487db28074bd9598cf7..1c4d327c67d31490e8f0055cd9eb5f11a3b2756f 100644 Binary files a/public/inst/extdata/05_efficiency.png and b/public/inst/extdata/05_efficiency.png differ diff --git a/public/inst/extdata/pe.png b/public/inst/extdata/pe.png index 4bc9bb3da80fd432d498ef3d738842f0aa8f0880..3d413015a9933f683bb0d0df5f770057c7bd5b0a 100644 Binary files a/public/inst/extdata/pe.png and b/public/inst/extdata/pe.png differ diff --git a/public/inst/extdata/readme_portrait.png b/public/inst/extdata/readme_portrait.png index 34a09e1c65feb87d50cd41ed745b67ac07dbaff7..96c4cd26606f3d0afed6487dbbddbdb9189a6021 100644 Binary files a/public/inst/extdata/readme_portrait.png and b/public/inst/extdata/readme_portrait.png differ diff --git a/public/pkgdown.yml b/public/pkgdown.yml index ac692088d2839aff312fca63e8f2679449e23f54..5b25a3211cbe2f648cb78aaa24c613ff8d49a248 100644 --- a/public/pkgdown.yml +++ b/public/pkgdown.yml @@ -1,6 +1,6 @@ -pandoc: 2.7.2 -pkgdown: 1.4.1 -pkgdown_sha: ~ -articles: - designing_grna_libraries: designing_grna_libraries.html - +pandoc: 2.7.2 +pkgdown: 1.4.1 +pkgdown_sha: ~ +articles: + designing_grna_libraries: designing_grna_libraries.html + diff --git a/public/reference/EnsDb.Hsapiens.v99.html b/public/reference/EnsDb.Hsapiens.v99.html index a07c3b51a6577bcbe7cb2f699a337d3c15b585e8..38497b92701e0476720bd6f9973f81a5cd47528b 100644 --- a/public/reference/EnsDb.Hsapiens.v99.html +++ b/public/reference/EnsDb.Hsapiens.v99.html @@ -1,179 +1,179 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Get EnsDb.Hsapiens.v98 from AnnotationHub — EnsDb.Hsapiens.v99 • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Get EnsDb.Hsapiens.v98 from AnnotationHub — EnsDb.Hsapiens.v99" /> -<meta property="og:description" content="Get EnsDb.Hsapiens.v98 from AnnotationHub" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Get EnsDb.Hsapiens.v98 from AnnotationHub</h1> - - <div class="hidden name"><code>EnsDb.Hsapiens.v99.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Get EnsDb.Hsapiens.v98 from AnnotationHub</p> - </div> - - <pre class="usage"><span class='fu'>EnsDb.Hsapiens.v99</span>()</pre> - - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p><code><a href='https://rdrr.io/pkg/ensembldb/man/EnsDb-class.html'>EnsDb-class</a></code></p> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='fu'>EnsDb.Hsapiens.v99</span>()</div><div class='output co'>#> <span class='message'>snapshotDate(): 2019-10-29</span></div><div class='output co'>#> <span class='message'>loading from cache</span></div><div class='output co'>#> <span class='message'>require("ensembldb")</span></div><div class='output co'>#> EnsDb for Ensembl: -#> |Backend: SQLite -#> |Db type: EnsDb -#> |Type of Gene ID: Ensembl Gene ID -#> |Supporting package: ensembldb -#> |Db created by: ensembldb package from Bioconductor -#> |script_version: 0.3.5 -#> |Creation time: Mon Feb 3 13:20:00 2020 -#> |ensembl_version: 99 -#> |ensembl_host: localhost -#> |Organism: Homo sapiens -#> |taxonomy_id: 9606 -#> |genome_build: GRCh38 -#> |DBSCHEMAVERSION: 2.1 -#> | No. of genes: 67998. -#> | No. of transcripts: 250641. -#> |Protein data available.</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#value">Value</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Get EnsDb.Hsapiens.v98 from AnnotationHub — EnsDb.Hsapiens.v99 • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Get EnsDb.Hsapiens.v98 from AnnotationHub — EnsDb.Hsapiens.v99" /> +<meta property="og:description" content="Get EnsDb.Hsapiens.v98 from AnnotationHub" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Get EnsDb.Hsapiens.v98 from AnnotationHub</h1> + + <div class="hidden name"><code>EnsDb.Hsapiens.v99.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Get EnsDb.Hsapiens.v98 from AnnotationHub</p> + </div> + + <pre class="usage"><span class='fu'>EnsDb.Hsapiens.v99</span>()</pre> + + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p><code><a href='https://rdrr.io/pkg/ensembldb/man/EnsDb-class.html'>EnsDb-class</a></code></p> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='fu'>EnsDb.Hsapiens.v99</span>()</div><div class='output co'>#> <span class='message'>snapshotDate(): 2019-10-29</span></div><div class='output co'>#> <span class='message'>loading from cache</span></div><div class='output co'>#> <span class='message'>require("ensembldb")</span></div><div class='output co'>#> EnsDb for Ensembl: +#> |Backend: SQLite +#> |Db type: EnsDb +#> |Type of Gene ID: Ensembl Gene ID +#> |Supporting package: ensembldb +#> |Db created by: ensembldb package from Bioconductor +#> |script_version: 0.3.5 +#> |Creation time: Mon Feb 3 13:20:00 2020 +#> |ensembl_version: 99 +#> |ensembl_host: localhost +#> |Organism: Homo sapiens +#> |taxonomy_id: 9606 +#> |genome_build: GRCh38 +#> |DBSCHEMAVERSION: 2.1 +#> | No. of genes: 67998. +#> | No. of transcripts: 250641. +#> |Protein data available.</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#value">Value</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/EnsDb.Mmusculus.v98.html b/public/reference/EnsDb.Mmusculus.v98.html index c6d4cb0b25653dc155193ec82da7dc3bfd5d99d4..65d60e74afb3bce853c2ffa0e8dc2ef09adbb45e 100644 --- a/public/reference/EnsDb.Mmusculus.v98.html +++ b/public/reference/EnsDb.Mmusculus.v98.html @@ -1,179 +1,179 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Get EnsDb.Mmusculus.v98 from AnnotationHub — EnsDb.Mmusculus.v98 • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Get EnsDb.Mmusculus.v98 from AnnotationHub — EnsDb.Mmusculus.v98" /> -<meta property="og:description" content="Get EnsDb.Mmusculus.v98 from AnnotationHub" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Get EnsDb.Mmusculus.v98 from AnnotationHub</h1> - - <div class="hidden name"><code>EnsDb.Mmusculus.v98.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Get EnsDb.Mmusculus.v98 from AnnotationHub</p> - </div> - - <pre class="usage"><span class='fu'>EnsDb.Mmusculus.v98</span>()</pre> - - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p><code><a href='https://rdrr.io/pkg/ensembldb/man/EnsDb-class.html'>EnsDb-class</a></code></p> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='fu'>EnsDb.Mmusculus.v98</span>()</div><div class='output co'>#> <span class='message'>snapshotDate(): 2019-10-29</span></div><div class='output co'>#> <span class='message'>loading from cache</span></div><div class='output co'>#> EnsDb for Ensembl: -#> |Backend: SQLite -#> |Db type: EnsDb -#> |Type of Gene ID: Ensembl Gene ID -#> |Supporting package: ensembldb -#> |Db created by: ensembldb package from Bioconductor -#> |script_version: 0.3.5 -#> |Creation time: Wed Nov 20 02:13:02 2019 -#> |ensembl_version: 98 -#> |ensembl_host: localhost -#> |Organism: Mus musculus -#> |taxonomy_id: 10090 -#> |genome_build: GRCm38 -#> |DBSCHEMAVERSION: 2.1 -#> | No. of genes: 56239. -#> | No. of transcripts: 144524. -#> |Protein data available.</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#value">Value</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Get EnsDb.Mmusculus.v98 from AnnotationHub — EnsDb.Mmusculus.v98 • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Get EnsDb.Mmusculus.v98 from AnnotationHub — EnsDb.Mmusculus.v98" /> +<meta property="og:description" content="Get EnsDb.Mmusculus.v98 from AnnotationHub" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Get EnsDb.Mmusculus.v98 from AnnotationHub</h1> + + <div class="hidden name"><code>EnsDb.Mmusculus.v98.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Get EnsDb.Mmusculus.v98 from AnnotationHub</p> + </div> + + <pre class="usage"><span class='fu'>EnsDb.Mmusculus.v98</span>()</pre> + + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p><code><a href='https://rdrr.io/pkg/ensembldb/man/EnsDb-class.html'>EnsDb-class</a></code></p> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='fu'>EnsDb.Mmusculus.v98</span>()</div><div class='output co'>#> <span class='message'>snapshotDate(): 2019-10-29</span></div><div class='output co'>#> <span class='message'>loading from cache</span></div><div class='output co'>#> EnsDb for Ensembl: +#> |Backend: SQLite +#> |Db type: EnsDb +#> |Type of Gene ID: Ensembl Gene ID +#> |Supporting package: ensembldb +#> |Db created by: ensembldb package from Bioconductor +#> |script_version: 0.3.5 +#> |Creation time: Wed Nov 20 02:13:02 2019 +#> |ensembl_version: 98 +#> |ensembl_host: localhost +#> |Organism: Mus musculus +#> |taxonomy_id: 10090 +#> |genome_build: GRCm38 +#> |DBSCHEMAVERSION: 2.1 +#> | No. of genes: 56239. +#> | No. of transcripts: 144524. +#> |Protein data available.</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#value">Value</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/add_context-1.png b/public/reference/add_context-1.png index 81a9f5c744b832c768da6574277f3b600d569f4c..3ad37c1bb7faa30d9dd2254ffe54ca918721a6b0 100644 Binary files a/public/reference/add_context-1.png and b/public/reference/add_context-1.png differ diff --git a/public/reference/add_context-2.png b/public/reference/add_context-2.png index 2fa9dd21011d9aa61c2a5d26172ac121a09e78f3..f7ac80ffc8c47fd48735082a7978c4c3f9ab887a 100644 Binary files a/public/reference/add_context-2.png and b/public/reference/add_context-2.png differ diff --git a/public/reference/add_context-3.png b/public/reference/add_context-3.png index d9f5e72fc41de6d79da4542471713fe9f529710a..c8ec4f45e6e192df52b236e194d0d4643c337368 100644 Binary files a/public/reference/add_context-3.png and b/public/reference/add_context-3.png differ diff --git a/public/reference/add_context-4.png b/public/reference/add_context-4.png index d9f5e72fc41de6d79da4542471713fe9f529710a..c8ec4f45e6e192df52b236e194d0d4643c337368 100644 Binary files a/public/reference/add_context-4.png and b/public/reference/add_context-4.png differ diff --git a/public/reference/add_context.html b/public/reference/add_context.html index 049a552edc70ab6ba6fa438fd0a12a14074eb93e..21bfc185dbb41e4dacc71e5d0ca877fd24b604d2 100644 --- a/public/reference/add_context.html +++ b/public/reference/add_context.html @@ -1,295 +1,295 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Add [-4, +3] context — add_context • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Add [-4, +3] context — add_context" /> -<meta property="og:description" content="Add context for Doench2016 scoring" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Add [-4, +3] context</h1> - - <div class="hidden name"><code>add_context.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Add context for Doench2016 scoring</p> - </div> - - <pre class="usage"><span class='fu'>add_context</span>(<span class='no'>spacers</span>, <span class='no'>bsgenome</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>spacers</th> - <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code>: spacer ranges</p></td> - </tr> - <tr> - <th>bsgenome</th> - <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>logical(1)</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>character vector</p> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='co'># PE example</span> -<span class='co'>#-----------</span> - <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>)</div><div class='output co'>#> <span class='message'>Lade nötiges Paket: magrittr</span></div><div class='input'> <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> - <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> - <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> - <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> - <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> - <span class='no'>bsgenome</span>) - <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_spacers.html'>find_spacers</a></span>(<span class='fu'><a href='extend_for_pe.html'>extend_for_pe</a></span>(<span class='no'>gr</span>), <span class='no'>bsgenome</span>, <span class='kw'>complement</span><span class='kw'>=</span><span class='fl'>FALSE</span>)</div><div class='img'><img src='add_context-1.png' alt='' width='700' height='433' /></div><div class='input'> (<span class='fu'>add_context</span>(<span class='no'>spacers</span>, <span class='no'>bsgenome</span>))</div><div class='output co'>#> <span class='message'> Add (4-23-3) contextseqs</span></div><div class='output co'>#> GRanges object with 10 ranges and 7 metadata columns: -#> seqnames ranges strand | targetname targetstart -#> <Rle> <IRanges> <Rle> | <character> <integer> -#> CFTR_f chr7 117559575-117559594 + | CFTR 117559593 -#> CFTR_r chr7 117559606-117559625 - | CFTR 117559593 -#> HBB_f chr11 5226984-5227003 + | HBB 5227002 -#> HBB_r chr11 5227003-5227022 - | HBB 5227002 -#> HEXA_f_1 chr15 72346551-72346570 + | HEXA 72346580 -#> HEXA_f_2 chr15 72346558-72346577 + | HEXA 72346580 -#> PRNP_f_1 chr20 4699568-4699587 + | PRNP 4699600 -#> PRNP_f_2 chr20 4699569-4699588 + | PRNP 4699600 -#> PRNP_f_3 chr20 4699575-4699594 + | PRNP 4699600 -#> PRNP_f_4 chr20 4699578-4699597 + | PRNP 4699600 -#> targetend crisprname crisprspacer crisprpam -#> <integer> <character> <character> <character> -#> CFTR_f 117559595 CFTR_f ATTAAAGAAAATATCATCTT TGG -#> CFTR_r 117559595 CFTR_r TCTGTATCTATATTCATCAT AGG -#> HBB_f 5227002 HBB_f GTAACGGCAGACTTCTCCTC AGG -#> HBB_r 5227002 HBB_r CATGGTGCATCTGACTCCTG AGG -#> HEXA_f_1 72346583 HEXA_f_1 TGTAGAAATCCTTCCAGTCA GGG -#> HEXA_f_2 72346583 HEXA_f_2 ATCCTTCCAGTCAGGGCCAT AGG -#> PRNP_f_1 4699600 PRNP_f_1 AGCAGCTGGGGCAGTGGTGG GGG -#> PRNP_f_2 4699600 PRNP_f_2 GCAGCTGGGGCAGTGGTGGG GGG -#> PRNP_f_3 4699600 PRNP_f_3 GGGGCAGTGGTGGGGGGCCT TGG -#> PRNP_f_4 4699600 PRNP_f_4 GCAGTGGTGGGGGGCCTTGG CGG -#> crisprcontext -#> <character> -#> CFTR_f CACCATTAAAGAAAATATCATCTTTGGTGT -#> CFTR_r CGCTTCTGTATCTATATTCATCATAGGAAA -#> HBB_f GGCAGTAACGGCAGACTTCTCCTCAGGAGT -#> HBB_r ACACCATGGTGCATCTGACTCCTGAGGAGA -#> HEXA_f_1 ACTATGTAGAAATCCTTCCAGTCAGGGCCA -#> HEXA_f_2 AGAAATCCTTCCAGTCAGGGCCATAGGATA -#> PRNP_f_1 CTGCAGCAGCTGGGGCAGTGGTGGGGGGCC -#> PRNP_f_2 TGCAGCAGCTGGGGCAGTGGTGGGGGGCCT -#> PRNP_f_3 AGCTGGGGCAGTGGTGGGGGGCCTTGGCGG -#> PRNP_f_4 TGGGGCAGTGGTGGGGGGCCTTGGCGGCTA -#> ------- -#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'> -<span class='co'># TFBS example</span> -<span class='co'>#-------------</span> - <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) - <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> - <span class='no'>targets</span> <span class='kw'><-</span> <span class='fu'><a href='up_flank.html'>extend</a></span>(<span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='st'>'mm10'</span>))</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'></span> -#> <span class='message'>Attache Paket: 'BiocGenerics'</span></div><div class='output co'>#> <span class='message'>The following objects are masked from 'package:parallel':</span> -#> <span class='message'></span> -#> <span class='message'> clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,</span> -#> <span class='message'> clusterExport, clusterMap, parApply, parCapply, parLapply,</span> -#> <span class='message'> parLapplyLB, parRapply, parSapply, parSapplyLB</span></div><div class='output co'>#> <span class='message'>The following objects are masked from 'package:stats':</span> -#> <span class='message'></span> -#> <span class='message'> IQR, mad, sd, var, xtabs</span></div><div class='output co'>#> <span class='message'>The following objects are masked from 'package:base':</span> -#> <span class='message'></span> -#> <span class='message'> anyDuplicated, append, as.data.frame, basename, cbind, colnames,</span> -#> <span class='message'> dirname, do.call, duplicated, eval, evalq, Filter, Find, get, grep,</span> -#> <span class='message'> grepl, intersect, is.unsorted, lapply, Map, mapply, match, mget,</span> -#> <span class='message'> order, paste, pmax, pmax.int, pmin, pmin.int, Position, rank,</span> -#> <span class='message'> rbind, Reduce, rownames, sapply, setdiff, sort, table, tapply,</span> -#> <span class='message'> union, unique, unsplit, which, which.max, which.min</span></div><div class='output co'>#> <span class='message'></span> -#> <span class='message'>Attache Paket: 'S4Vectors'</span></div><div class='output co'>#> <span class='message'>The following object is masked from 'package:base':</span> -#> <span class='message'></span> -#> <span class='message'> expand.grid</span></div><div class='output co'>#> <span class='message'></span> -#> <span class='message'>Attache Paket: 'IRanges'</span></div><div class='output co'>#> <span class='message'>The following object is masked from 'package:grDevices':</span> -#> <span class='message'></span> -#> <span class='message'> windows</span></div><div class='output co'>#> <span class='message'></span> -#> <span class='message'>Attache Paket: 'Biostrings'</span></div><div class='output co'>#> <span class='message'>The following object is masked from 'package:base':</span> -#> <span class='message'></span> -#> <span class='message'> strsplit</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='add_context-2.png' alt='' width='700' height='433' /></div><div class='input'> <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_spacers.html'>find_spacers</a></span>(<span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='img'><img src='add_context-3.png' alt='' width='700' height='433' /></div><div class='input'> (<span class='no'>spacers</span> <span class='kw'>%<>%</span> <span class='fu'>add_context</span>(<span class='no'>bsgenome</span>))</div><div class='output co'>#> <span class='message'> Add (4-23-3) contextseqs</span></div><div class='output co'>#> GRanges object with 10159 ranges and 9 metadata columns: -#> seqnames ranges strand | name score -#> <Rle> <IRanges> <Rle> | <character> <numeric> -#> T0001_r_5 chr1 4712619-4712638 - | SRF_MA0083.3 10.49542 -#> T0001_r_4 chr1 4712620-4712639 - | SRF_MA0083.3 10.49542 -#> T0001_r_3 chr1 4712627-4712646 - | SRF_MA0083.3 10.49542 -#> T0001_r_2 chr1 4712633-4712652 - | SRF_MA0083.3 10.49542 -#> T0001_r_1 chr1 4712634-4712653 - | SRF_MA0083.3 10.49542 -#> ... ... ... ... . ... ... -#> T1974_r_3 chrY 89126492-89126511 - | SRF_MA0083.3 4.54393 -#> T1974_f_3 chrY 89126496-89126515 + | SRF_MA0083.3 4.54393 -#> T1974_r_2 chrY 89126499-89126518 - | SRF_MA0083.3 4.54393 -#> T1974_r_1 chrY 89126500-89126519 - | SRF_MA0083.3 4.54393 -#> T1974_f_4 chrY 89126501-89126520 + | SRF_MA0083.3 4.54393 -#> targetname targetstart targetend crisprname crisprspacer -#> <character> <integer> <integer> <character> <character> -#> T0001_r_5 T0001 4712628 4712643 T0001_r_5 ATATAAGGGCATTGGAAGAA -#> T0001_r_4 T0001 4712628 4712643 T0001_r_4 AATATAAGGGCATTGGAAGA -#> T0001_r_3 T0001 4712628 4712643 T0001_r_3 TGGAGACAATATAAGGGCAT -#> T0001_r_2 T0001 4712628 4712643 T0001_r_2 TTCTGCTGGAGACAATATAA -#> T0001_r_1 T0001 4712628 4712643 T0001_r_1 CTTCTGCTGGAGACAATATA -#> ... ... ... ... ... ... -#> T1974_r_3 T1974 89126494 89126509 T1974_r_3 TTTGCCCATACTAGGGAGAG -#> T1974_f_3 T1974 89126494 89126509 T1974_f_3 CCCTAGTATGGGCAAATATA -#> T1974_r_2 T1974 89126494 89126509 T1974_r_2 CCATATATTTGCCCATACTA -#> T1974_r_1 T1974 89126494 89126509 T1974_r_1 TCCATATATTTGCCCATACT -#> T1974_f_4 T1974 89126494 89126509 T1974_f_4 GTATGGGCAAATATATGGAA -#> crisprpam crisprcontext -#> <character> <character> -#> T0001_r_5 GGG GACAATATAAGGGCATTGGAAGAAGGGAGT -#> T0001_r_4 AGG AGACAATATAAGGGCATTGGAAGAAGGGAG -#> T0001_r_3 TGG CTGCTGGAGACAATATAAGGGCATTGGAAG -#> T0001_r_2 GGG CACCTTCTGCTGGAGACAATATAAGGGCAT -#> T0001_r_1 AGG ACACCTTCTGCTGGAGACAATATAAGGGCA -#> ... ... ... -#> T1974_r_3 CGG TATATTTGCCCATACTAGGGAGAGCGGCTT -#> T1974_f_3 TGG CTCTCCCTAGTATGGGCAAATATATGGAAT -#> T1974_r_2 GGG CATTCCATATATTTGCCCATACTAGGGAGA -#> T1974_r_1 AGG CCATTCCATATATTTGCCCATACTAGGGAG -#> T1974_f_4 TGG CCTAGTATGGGCAAATATATGGAATGGAAA -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Add [-4, +3] context — add_context • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Add [-4, +3] context — add_context" /> +<meta property="og:description" content="Add context for Doench2016 scoring" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Add [-4, +3] context</h1> + + <div class="hidden name"><code>add_context.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Add context for Doench2016 scoring</p> + </div> + + <pre class="usage"><span class='fu'>add_context</span>(<span class='no'>spacers</span>, <span class='no'>bsgenome</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>spacers</th> + <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code>: spacer ranges</p></td> + </tr> + <tr> + <th>bsgenome</th> + <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>logical(1)</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>character vector</p> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='co'># PE example</span> +<span class='co'>#-----------</span> + <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>)</div><div class='output co'>#> <span class='message'>Lade nötiges Paket: magrittr</span></div><div class='input'> <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> + <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> + <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> + <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> + <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> + <span class='no'>bsgenome</span>) + <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_spacers.html'>find_spacers</a></span>(<span class='fu'><a href='extend_for_pe.html'>extend_for_pe</a></span>(<span class='no'>gr</span>), <span class='no'>bsgenome</span>, <span class='kw'>complement</span><span class='kw'>=</span><span class='fl'>FALSE</span>)</div><div class='img'><img src='add_context-1.png' alt='' width='700' height='433' /></div><div class='input'> (<span class='fu'>add_context</span>(<span class='no'>spacers</span>, <span class='no'>bsgenome</span>))</div><div class='output co'>#> <span class='message'> Add (4-23-3) contextseqs</span></div><div class='output co'>#> GRanges object with 10 ranges and 7 metadata columns: +#> seqnames ranges strand | targetname targetstart +#> <Rle> <IRanges> <Rle> | <character> <integer> +#> CFTR_f chr7 117559575-117559594 + | CFTR 117559593 +#> CFTR_r chr7 117559606-117559625 - | CFTR 117559593 +#> HBB_f chr11 5226984-5227003 + | HBB 5227002 +#> HBB_r chr11 5227003-5227022 - | HBB 5227002 +#> HEXA_f_1 chr15 72346551-72346570 + | HEXA 72346580 +#> HEXA_f_2 chr15 72346558-72346577 + | HEXA 72346580 +#> PRNP_f_1 chr20 4699568-4699587 + | PRNP 4699600 +#> PRNP_f_2 chr20 4699569-4699588 + | PRNP 4699600 +#> PRNP_f_3 chr20 4699575-4699594 + | PRNP 4699600 +#> PRNP_f_4 chr20 4699578-4699597 + | PRNP 4699600 +#> targetend crisprname crisprspacer crisprpam +#> <integer> <character> <character> <character> +#> CFTR_f 117559595 CFTR_f ATTAAAGAAAATATCATCTT TGG +#> CFTR_r 117559595 CFTR_r TCTGTATCTATATTCATCAT AGG +#> HBB_f 5227002 HBB_f GTAACGGCAGACTTCTCCTC AGG +#> HBB_r 5227002 HBB_r CATGGTGCATCTGACTCCTG AGG +#> HEXA_f_1 72346583 HEXA_f_1 TGTAGAAATCCTTCCAGTCA GGG +#> HEXA_f_2 72346583 HEXA_f_2 ATCCTTCCAGTCAGGGCCAT AGG +#> PRNP_f_1 4699600 PRNP_f_1 AGCAGCTGGGGCAGTGGTGG GGG +#> PRNP_f_2 4699600 PRNP_f_2 GCAGCTGGGGCAGTGGTGGG GGG +#> PRNP_f_3 4699600 PRNP_f_3 GGGGCAGTGGTGGGGGGCCT TGG +#> PRNP_f_4 4699600 PRNP_f_4 GCAGTGGTGGGGGGCCTTGG CGG +#> crisprcontext +#> <character> +#> CFTR_f CACCATTAAAGAAAATATCATCTTTGGTGT +#> CFTR_r CGCTTCTGTATCTATATTCATCATAGGAAA +#> HBB_f GGCAGTAACGGCAGACTTCTCCTCAGGAGT +#> HBB_r ACACCATGGTGCATCTGACTCCTGAGGAGA +#> HEXA_f_1 ACTATGTAGAAATCCTTCCAGTCAGGGCCA +#> HEXA_f_2 AGAAATCCTTCCAGTCAGGGCCATAGGATA +#> PRNP_f_1 CTGCAGCAGCTGGGGCAGTGGTGGGGGGCC +#> PRNP_f_2 TGCAGCAGCTGGGGCAGTGGTGGGGGGCCT +#> PRNP_f_3 AGCTGGGGCAGTGGTGGGGGGCCTTGGCGG +#> PRNP_f_4 TGGGGCAGTGGTGGGGGGCCTTGGCGGCTA +#> ------- +#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'> +<span class='co'># TFBS example</span> +<span class='co'>#-------------</span> + <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) + <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> + <span class='no'>targets</span> <span class='kw'><-</span> <span class='fu'><a href='up_flank.html'>extend</a></span>(<span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='st'>'mm10'</span>))</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'></span> +#> <span class='message'>Attache Paket: 'BiocGenerics'</span></div><div class='output co'>#> <span class='message'>The following objects are masked from 'package:parallel':</span> +#> <span class='message'></span> +#> <span class='message'> clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,</span> +#> <span class='message'> clusterExport, clusterMap, parApply, parCapply, parLapply,</span> +#> <span class='message'> parLapplyLB, parRapply, parSapply, parSapplyLB</span></div><div class='output co'>#> <span class='message'>The following objects are masked from 'package:stats':</span> +#> <span class='message'></span> +#> <span class='message'> IQR, mad, sd, var, xtabs</span></div><div class='output co'>#> <span class='message'>The following objects are masked from 'package:base':</span> +#> <span class='message'></span> +#> <span class='message'> anyDuplicated, append, as.data.frame, basename, cbind, colnames,</span> +#> <span class='message'> dirname, do.call, duplicated, eval, evalq, Filter, Find, get, grep,</span> +#> <span class='message'> grepl, intersect, is.unsorted, lapply, Map, mapply, match, mget,</span> +#> <span class='message'> order, paste, pmax, pmax.int, pmin, pmin.int, Position, rank,</span> +#> <span class='message'> rbind, Reduce, rownames, sapply, setdiff, sort, table, tapply,</span> +#> <span class='message'> union, unique, unsplit, which, which.max, which.min</span></div><div class='output co'>#> <span class='message'></span> +#> <span class='message'>Attache Paket: 'S4Vectors'</span></div><div class='output co'>#> <span class='message'>The following object is masked from 'package:base':</span> +#> <span class='message'></span> +#> <span class='message'> expand.grid</span></div><div class='output co'>#> <span class='message'></span> +#> <span class='message'>Attache Paket: 'IRanges'</span></div><div class='output co'>#> <span class='message'>The following object is masked from 'package:grDevices':</span> +#> <span class='message'></span> +#> <span class='message'> windows</span></div><div class='output co'>#> <span class='message'></span> +#> <span class='message'>Attache Paket: 'Biostrings'</span></div><div class='output co'>#> <span class='message'>The following object is masked from 'package:base':</span> +#> <span class='message'></span> +#> <span class='message'> strsplit</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='add_context-2.png' alt='' width='700' height='433' /></div><div class='input'> <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_spacers.html'>find_spacers</a></span>(<span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='img'><img src='add_context-3.png' alt='' width='700' height='433' /></div><div class='input'> (<span class='no'>spacers</span> <span class='kw'>%<>%</span> <span class='fu'>add_context</span>(<span class='no'>bsgenome</span>))</div><div class='output co'>#> <span class='message'> Add (4-23-3) contextseqs</span></div><div class='output co'>#> GRanges object with 10159 ranges and 9 metadata columns: +#> seqnames ranges strand | name score +#> <Rle> <IRanges> <Rle> | <character> <numeric> +#> T0001_r_5 chr1 4712619-4712638 - | SRF_MA0083.3 10.49542 +#> T0001_r_4 chr1 4712620-4712639 - | SRF_MA0083.3 10.49542 +#> T0001_r_3 chr1 4712627-4712646 - | SRF_MA0083.3 10.49542 +#> T0001_r_2 chr1 4712633-4712652 - | SRF_MA0083.3 10.49542 +#> T0001_r_1 chr1 4712634-4712653 - | SRF_MA0083.3 10.49542 +#> ... ... ... ... . ... ... +#> T1974_r_3 chrY 89126492-89126511 - | SRF_MA0083.3 4.54393 +#> T1974_f_3 chrY 89126496-89126515 + | SRF_MA0083.3 4.54393 +#> T1974_r_2 chrY 89126499-89126518 - | SRF_MA0083.3 4.54393 +#> T1974_r_1 chrY 89126500-89126519 - | SRF_MA0083.3 4.54393 +#> T1974_f_4 chrY 89126501-89126520 + | SRF_MA0083.3 4.54393 +#> targetname targetstart targetend crisprname crisprspacer +#> <character> <integer> <integer> <character> <character> +#> T0001_r_5 T0001 4712628 4712643 T0001_r_5 ATATAAGGGCATTGGAAGAA +#> T0001_r_4 T0001 4712628 4712643 T0001_r_4 AATATAAGGGCATTGGAAGA +#> T0001_r_3 T0001 4712628 4712643 T0001_r_3 TGGAGACAATATAAGGGCAT +#> T0001_r_2 T0001 4712628 4712643 T0001_r_2 TTCTGCTGGAGACAATATAA +#> T0001_r_1 T0001 4712628 4712643 T0001_r_1 CTTCTGCTGGAGACAATATA +#> ... ... ... ... ... ... +#> T1974_r_3 T1974 89126494 89126509 T1974_r_3 TTTGCCCATACTAGGGAGAG +#> T1974_f_3 T1974 89126494 89126509 T1974_f_3 CCCTAGTATGGGCAAATATA +#> T1974_r_2 T1974 89126494 89126509 T1974_r_2 CCATATATTTGCCCATACTA +#> T1974_r_1 T1974 89126494 89126509 T1974_r_1 TCCATATATTTGCCCATACT +#> T1974_f_4 T1974 89126494 89126509 T1974_f_4 GTATGGGCAAATATATGGAA +#> crisprpam crisprcontext +#> <character> <character> +#> T0001_r_5 GGG GACAATATAAGGGCATTGGAAGAAGGGAGT +#> T0001_r_4 AGG AGACAATATAAGGGCATTGGAAGAAGGGAG +#> T0001_r_3 TGG CTGCTGGAGACAATATAAGGGCATTGGAAG +#> T0001_r_2 GGG CACCTTCTGCTGGAGACAATATAAGGGCAT +#> T0001_r_1 AGG ACACCTTCTGCTGGAGACAATATAAGGGCA +#> ... ... ... +#> T1974_r_3 CGG TATATTTGCCCATACTAGGGAGAGCGGCTT +#> T1974_f_3 TGG CTCTCCCTAGTATGGGCAAATATATGGAAT +#> T1974_r_2 GGG CATTCCATATATTTGCCCATACTAGGGAGA +#> T1974_r_1 AGG CCATTCCATATATTTGCCCATACTAGGGAG +#> T1974_f_4 TGG CCTAGTATGGGCAAATATATGGAATGGAAA +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/add_efficiency-1.png b/public/reference/add_efficiency-1.png index f9eebb3779749d8050eae637fca854c586361a30..36e76a4da140c8ca4e71414a0429a1ca1f1698c8 100644 Binary files a/public/reference/add_efficiency-1.png and b/public/reference/add_efficiency-1.png differ diff --git a/public/reference/add_efficiency-2.png b/public/reference/add_efficiency-2.png index 7eca7e4b5f21985997e54da4c0a1908251862caf..121ab030b00920a908703cc82650d229154305a6 100644 Binary files a/public/reference/add_efficiency-2.png and b/public/reference/add_efficiency-2.png differ diff --git a/public/reference/add_efficiency-3.png b/public/reference/add_efficiency-3.png index 2fa9dd21011d9aa61c2a5d26172ac121a09e78f3..f7ac80ffc8c47fd48735082a7978c4c3f9ab887a 100644 Binary files a/public/reference/add_efficiency-3.png and b/public/reference/add_efficiency-3.png differ diff --git a/public/reference/add_efficiency-4.png b/public/reference/add_efficiency-4.png index d9f5e72fc41de6d79da4542471713fe9f529710a..c8ec4f45e6e192df52b236e194d0d4643c337368 100644 Binary files a/public/reference/add_efficiency-4.png and b/public/reference/add_efficiency-4.png differ diff --git a/public/reference/add_efficiency.html b/public/reference/add_efficiency.html index bf602f987c709c850e461e6eaf73317b6e6c371b..7b397f0c4a2edcf2a03117e9b891f64b08ca04c2 100644 --- a/public/reference/add_efficiency.html +++ b/public/reference/add_efficiency.html @@ -1,328 +1,328 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Add efficiency scores and filter — add_efficiency • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Add efficiency scores and filter — add_efficiency" /> -<meta property="og:description" content="Add Doench2014 or Doench2016 efficiency scores and filter on them" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Add efficiency scores and filter</h1> - - <div class="hidden name"><code>add_efficiency.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Add Doench2014 or Doench2016 efficiency scores and filter on them</p> - </div> - - <pre class="usage"><span class='fu'>add_efficiency</span>( - <span class='no'>spacers</span>, - <span class='no'>bsgenome</span>, - <span class='kw'>method</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='st'>"Doench2014"</span>, <span class='st'>"Doench2016"</span>)[<span class='fl'>1</span>], - <span class='kw'>chunksize</span> <span class='kw'>=</span> <span class='fl'>10000</span>, - <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, - <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, - <span class='kw'>alpha_var</span> <span class='kw'>=</span> <span class='fu'>default_alpha_var</span>(<span class='no'>spacers</span>), - <span class='kw'>size_var</span> <span class='kw'>=</span> <span class='no'>method</span> -) - -<span class='fu'>filter_efficient</span>( - <span class='no'>spacers</span>, - <span class='no'>bsgenome</span>, - <span class='kw'>method</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='st'>"Doench2014"</span>, <span class='st'>"Doench2016"</span>)[<span class='fl'>1</span>], - <span class='no'>cutoff</span>, - <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, - <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, - <span class='kw'>alpha_var</span> <span class='kw'>=</span> <span class='fu'>default_alpha_var</span>(<span class='no'>spacers</span>) -)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>spacers</th> - <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code>: spacers</p></td> - </tr> - <tr> - <th>bsgenome</th> - <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> - </tr> - <tr> - <th>method</th> - <td><p>'Doench2014' (default) or 'Doench2016' -(requires non-NULL argument python, virtualenv, or condaenv)</p></td> - </tr> - <tr> - <th>chunksize</th> - <td><p>Doench2016 is executed in chunks of chunksize</p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>TRUE (default) or FALSE</p></td> - </tr> - <tr> - <th>plot</th> - <td><p>TRUE (default) or FALSE</p></td> - </tr> - <tr> - <th>alpha_var</th> - <td><p>NULL or string: var mapped to alpha in plot</p></td> - </tr> - <tr> - <th>size_var</th> - <td><p>NULL or string: var mapped to size in plot</p></td> - </tr> - <tr> - <th>cutoff</th> - <td><p>value to filter on</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>numeric vector</p> - <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2> - - <p><code>add_efficiency</code> adds efficiency scores -<code>filter_efficiency</code> adds efficiency scores and filters on them</p> - <h2 class="hasAnchor" id="references"><a class="anchor" href="#references"></a>References</h2> - - <p>Doench 2014, Rational design of highly active sgRNAs for -CRISPR-Cas9-mediated gene inactivation. Nature Biotechnology, -doi: 10.1038/nbt.3026</p> -<p>Doench 2016, Optimized sgRNA design to maximize activity and minimize -off-target effects of CRISPR-Cas9. Nature Biotechnology, -doi: 10.1038/nbt.3437</p> -<p>Python module azimuth: github/MicrosoftResearch/azimuth</p> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'> -<span class='co'># Install azimuth </span> -<span class='co'>#----------------</span> - <span class='co'>## With reticulate</span> - <span class='co'># require(reticulate)</span> - <span class='co'># conda_create('azienv', c('python=2.7'))</span> - <span class='co'># use_condaenv('azienv')</span> - <span class='co'># py_install(c('azimuth', 'scikit-learn==0.17.1'), 'azienv', pip = TRUE)</span> - - <span class='co'>## Directly</span> - <span class='co'># conda create --name azienv python=2.7</span> - <span class='co'># conda activate azienv</span> - <span class='co'># pip install azimuth</span> - <span class='co'># pip install scikit-learn==0.17.1</span> - -<span class='co'># PE example</span> -<span class='co'>#-----------</span> - <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) - <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> - <span class='no'>targets</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> - <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> - <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> - <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> - <span class='no'>bsgenome</span>) - <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_pe_spacers.html'>find_pe_spacers</a></span>(<span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='img'><img src='add_efficiency-1.png' alt='' width='700' height='433' /></div><div class='input'> <span class='co'>#spacers <- find_spacers(extend_for_pe(gr), bsgenome, complement = FALSE)</span> - (<span class='no'>spacers</span> <span class='kw'>%<>%</span> <span class='fu'>add_efficiency</span>(<span class='no'>bsgenome</span>, <span class='st'>'Doench2014'</span>))</div><div class='output co'>#> <span class='message'> Score crispr spacers</span></div><div class='output co'>#> <span class='message'> Add (4-23-3) contextseqs</span></div><div class='output co'>#> <span class='message'> Score contextseqs with Doench2014</span></div><div class='img'><img src='add_efficiency-2.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 10 ranges and 11 metadata columns: -#> seqnames ranges strand | crisprcontext -#> <Rle> <IRanges> <Rle> | <character> -#> CFTR_1 chr7 117559575-117559594 + | CACCATTAAAGAAAATATCATCTTTGGTGT -#> CFTR_2 chr7 117559606-117559625 - | CGCTTCTGTATCTATATTCATCATAGGAAA -#> HBB_1 chr11 5227003-5227022 - | ACACCATGGTGCATCTGACTCCTGAGGAGA -#> HBB_2 chr11 5226984-5227003 + | GGCAGTAACGGCAGACTTCTCCTCAGGAGT -#> HEXA_1 chr15 72346551-72346570 + | ACTATGTAGAAATCCTTCCAGTCAGGGCCA -#> HEXA_2 chr15 72346558-72346577 + | AGAAATCCTTCCAGTCAGGGCCATAGGATA -#> PRNP_1 chr20 4699568-4699587 + | CTGCAGCAGCTGGGGCAGTGGTGGGGGGCC -#> PRNP_2 chr20 4699569-4699588 + | TGCAGCAGCTGGGGCAGTGGTGGGGGGCCT -#> PRNP_3 chr20 4699575-4699594 + | AGCTGGGGCAGTGGTGGGGGGCCTTGGCGG -#> PRNP_4 chr20 4699578-4699597 + | TGGGGCAGTGGTGGGGGGCCTTGGCGGCTA -#> targetname targetstart targetend crisprname crisprspacer -#> <character> <integer> <integer> <character> <character> -#> CFTR_1 CFTR 117559593 117559595 CFTR_1 ATTAAAGAAAATATCATCTT -#> CFTR_2 CFTR 117559593 117559595 CFTR_2 TCTGTATCTATATTCATCAT -#> HBB_1 HBB 5227002 5227002 HBB_1 CATGGTGCATCTGACTCCTG -#> HBB_2 HBB 5227002 5227002 HBB_2 GTAACGGCAGACTTCTCCTC -#> HEXA_1 HEXA 72346580 72346583 HEXA_1 TGTAGAAATCCTTCCAGTCA -#> HEXA_2 HEXA 72346580 72346583 HEXA_2 ATCCTTCCAGTCAGGGCCAT -#> PRNP_1 PRNP 4699600 4699600 PRNP_1 AGCAGCTGGGGCAGTGGTGG -#> PRNP_2 PRNP 4699600 4699600 PRNP_2 GCAGCTGGGGCAGTGGTGGG -#> PRNP_3 PRNP 4699600 4699600 PRNP_3 GGGGCAGTGGTGGGGGGCCT -#> PRNP_4 PRNP 4699600 4699600 PRNP_4 GCAGTGGTGGGGGGCCTTGG -#> crisprpam primer revtranscript -#> <character> <character> <character> -#> CFTR_1 TGG AAGAAAATATCAT CTTTGGTGTTTCCTAT -#> CFTR_2 AGG TATCTATATTCAT CATAGGAAACACCAAA -#> HBB_1 AGG GTGCATCTGACTC CTGAGGAGAAGTCTGC -#> HBB_2 AGG CGGCAGACTTCTC CTCAGGAGTCAGATGC -#> HEXA_1 GGG GAAATCCTTCCAG TCAGGGCCATAGGATA -#> HEXA_2 AGG TTCCAGTCAGGGC CATAGGATATACGGTT -#> PRNP_1 GGG GCTGGGGCAGTGG TGGGGGGCCTTGGCGG -#> PRNP_2 GGG CTGGGGCAGTGGT GGGGGGCCTTGGCGGC -#> PRNP_3 TGG CAGTGGTGGGGGG CCTTGGCGGCTACATG -#> PRNP_4 CGG TGGTGGGGGGCCT TGGCGGCTACATGCTG -#> extension Doench2014 -#> <character> <numeric> -#> CFTR_1 ATAGGAAACACCAAAGATGATATTTTCTT 0.0339998970537971 -#> CFTR_2 TTTGGTGTTTCCTATGATGAATATAGATA 0.223370560176775 -#> HBB_1 GCAGACTTCTCCTCAGGAGTCAGATGCAC 0.13111422370078 -#> HBB_2 GCATCTGACTCCTGAGGAGAAGTCTGCCG 0.413980645125447 -#> HEXA_1 TATCCTATGGCCCTGACTGGAAGGATTTC 0.107283614825074 -#> HEXA_2 AACCGTATATCCTATGGCCCTGACTGGAA 0.0394252780338432 -#> PRNP_1 CCGCCAAGGCCCCCCACCACTGCCCCAGC 0.00994899162104746 -#> PRNP_2 GCCGCCAAGGCCCCCCACCACTGCCCCAG 0.0449662673405108 -#> PRNP_3 CATGTAGCCGCCAAGGCCCCCCACCACTG 0.00996253852673941 -#> PRNP_4 CAGCATGTAGCCGCCAAGGCCCCCCACCA 0.20935862741641 -#> ------- -#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'> <span class='co'># reticulate::use_condaenv('azienv')</span> - <span class='co'># reticulate::import('azimuth')</span> - <span class='co'># spacers %<>% add_efficiency(bsgenome, 'Doench2016')</span> - <span class='co'># filter_efficient(spacers, bsgenome, 'Doench2016', 0.4)</span> - -<span class='co'># TFBS example</span> -<span class='co'>#-------------</span> - <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) - <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> - <span class='no'>targets</span> <span class='kw'><-</span> <span class='fu'><a href='up_flank.html'>extend</a></span>(<span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='st'>'mm10'</span>))</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='add_efficiency-3.png' alt='' width='700' height='433' /></div><div class='input'> <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_spacers.html'>find_spacers</a></span>(<span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='img'><img src='add_efficiency-4.png' alt='' width='700' height='433' /></div><div class='input'> # reticulate::use_condaenv('azienv') - # reticulate::import('azienv') - # (spacers %<>% add_offtargets(bsgenome, targets)) - # (spacers %>% add_efficiency(bsgenome, 'Doench2014')) - # (spacers %>% add_efficiency(bsgenome, 'Doench2016')) -</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#details">Details</a></li> - <li><a href="#references">References</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Add efficiency scores and filter — add_efficiency • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Add efficiency scores and filter — add_efficiency" /> +<meta property="og:description" content="Add Doench2014 or Doench2016 efficiency scores and filter on them" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Add efficiency scores and filter</h1> + + <div class="hidden name"><code>add_efficiency.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Add Doench2014 or Doench2016 efficiency scores and filter on them</p> + </div> + + <pre class="usage"><span class='fu'>add_efficiency</span>( + <span class='no'>spacers</span>, + <span class='no'>bsgenome</span>, + <span class='kw'>method</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='st'>"Doench2014"</span>, <span class='st'>"Doench2016"</span>)[<span class='fl'>1</span>], + <span class='kw'>chunksize</span> <span class='kw'>=</span> <span class='fl'>10000</span>, + <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, + <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, + <span class='kw'>alpha_var</span> <span class='kw'>=</span> <span class='fu'>default_alpha_var</span>(<span class='no'>spacers</span>), + <span class='kw'>size_var</span> <span class='kw'>=</span> <span class='no'>method</span> +) + +<span class='fu'>filter_efficient</span>( + <span class='no'>spacers</span>, + <span class='no'>bsgenome</span>, + <span class='kw'>method</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='st'>"Doench2014"</span>, <span class='st'>"Doench2016"</span>)[<span class='fl'>1</span>], + <span class='no'>cutoff</span>, + <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, + <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, + <span class='kw'>alpha_var</span> <span class='kw'>=</span> <span class='fu'>default_alpha_var</span>(<span class='no'>spacers</span>) +)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>spacers</th> + <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code>: spacers</p></td> + </tr> + <tr> + <th>bsgenome</th> + <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> + </tr> + <tr> + <th>method</th> + <td><p>'Doench2014' (default) or 'Doench2016' +(requires non-NULL argument python, virtualenv, or condaenv)</p></td> + </tr> + <tr> + <th>chunksize</th> + <td><p>Doench2016 is executed in chunks of chunksize</p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>TRUE (default) or FALSE</p></td> + </tr> + <tr> + <th>plot</th> + <td><p>TRUE (default) or FALSE</p></td> + </tr> + <tr> + <th>alpha_var</th> + <td><p>NULL or string: var mapped to alpha in plot</p></td> + </tr> + <tr> + <th>size_var</th> + <td><p>NULL or string: var mapped to size in plot</p></td> + </tr> + <tr> + <th>cutoff</th> + <td><p>value to filter on</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>numeric vector</p> + <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2> + + <p><code>add_efficiency</code> adds efficiency scores +<code>filter_efficiency</code> adds efficiency scores and filters on them</p> + <h2 class="hasAnchor" id="references"><a class="anchor" href="#references"></a>References</h2> + + <p>Doench 2014, Rational design of highly active sgRNAs for +CRISPR-Cas9-mediated gene inactivation. Nature Biotechnology, +doi: 10.1038/nbt.3026</p> +<p>Doench 2016, Optimized sgRNA design to maximize activity and minimize +off-target effects of CRISPR-Cas9. Nature Biotechnology, +doi: 10.1038/nbt.3437</p> +<p>Python module azimuth: github/MicrosoftResearch/azimuth</p> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'> +<span class='co'># Install azimuth </span> +<span class='co'>#----------------</span> + <span class='co'>## With reticulate</span> + <span class='co'># require(reticulate)</span> + <span class='co'># conda_create('azienv', c('python=2.7'))</span> + <span class='co'># use_condaenv('azienv')</span> + <span class='co'># py_install(c('azimuth', 'scikit-learn==0.17.1'), 'azienv', pip = TRUE)</span> + + <span class='co'>## Directly</span> + <span class='co'># conda create --name azienv python=2.7</span> + <span class='co'># conda activate azienv</span> + <span class='co'># pip install azimuth</span> + <span class='co'># pip install scikit-learn==0.17.1</span> + +<span class='co'># PE example</span> +<span class='co'>#-----------</span> + <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) + <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> + <span class='no'>targets</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> + <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> + <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> + <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> + <span class='no'>bsgenome</span>) + <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_pe_spacers.html'>find_pe_spacers</a></span>(<span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='img'><img src='add_efficiency-1.png' alt='' width='700' height='433' /></div><div class='input'> <span class='co'>#spacers <- find_spacers(extend_for_pe(gr), bsgenome, complement = FALSE)</span> + (<span class='no'>spacers</span> <span class='kw'>%<>%</span> <span class='fu'>add_efficiency</span>(<span class='no'>bsgenome</span>, <span class='st'>'Doench2014'</span>))</div><div class='output co'>#> <span class='message'> Score crispr spacers</span></div><div class='output co'>#> <span class='message'> Add (4-23-3) contextseqs</span></div><div class='output co'>#> <span class='message'> Score contextseqs with Doench2014</span></div><div class='img'><img src='add_efficiency-2.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 10 ranges and 11 metadata columns: +#> seqnames ranges strand | crisprcontext +#> <Rle> <IRanges> <Rle> | <character> +#> CFTR_1 chr7 117559575-117559594 + | CACCATTAAAGAAAATATCATCTTTGGTGT +#> CFTR_2 chr7 117559606-117559625 - | CGCTTCTGTATCTATATTCATCATAGGAAA +#> HBB_1 chr11 5227003-5227022 - | ACACCATGGTGCATCTGACTCCTGAGGAGA +#> HBB_2 chr11 5226984-5227003 + | GGCAGTAACGGCAGACTTCTCCTCAGGAGT +#> HEXA_1 chr15 72346551-72346570 + | ACTATGTAGAAATCCTTCCAGTCAGGGCCA +#> HEXA_2 chr15 72346558-72346577 + | AGAAATCCTTCCAGTCAGGGCCATAGGATA +#> PRNP_1 chr20 4699568-4699587 + | CTGCAGCAGCTGGGGCAGTGGTGGGGGGCC +#> PRNP_2 chr20 4699569-4699588 + | TGCAGCAGCTGGGGCAGTGGTGGGGGGCCT +#> PRNP_3 chr20 4699575-4699594 + | AGCTGGGGCAGTGGTGGGGGGCCTTGGCGG +#> PRNP_4 chr20 4699578-4699597 + | TGGGGCAGTGGTGGGGGGCCTTGGCGGCTA +#> targetname targetstart targetend crisprname crisprspacer +#> <character> <integer> <integer> <character> <character> +#> CFTR_1 CFTR 117559593 117559595 CFTR_1 ATTAAAGAAAATATCATCTT +#> CFTR_2 CFTR 117559593 117559595 CFTR_2 TCTGTATCTATATTCATCAT +#> HBB_1 HBB 5227002 5227002 HBB_1 CATGGTGCATCTGACTCCTG +#> HBB_2 HBB 5227002 5227002 HBB_2 GTAACGGCAGACTTCTCCTC +#> HEXA_1 HEXA 72346580 72346583 HEXA_1 TGTAGAAATCCTTCCAGTCA +#> HEXA_2 HEXA 72346580 72346583 HEXA_2 ATCCTTCCAGTCAGGGCCAT +#> PRNP_1 PRNP 4699600 4699600 PRNP_1 AGCAGCTGGGGCAGTGGTGG +#> PRNP_2 PRNP 4699600 4699600 PRNP_2 GCAGCTGGGGCAGTGGTGGG +#> PRNP_3 PRNP 4699600 4699600 PRNP_3 GGGGCAGTGGTGGGGGGCCT +#> PRNP_4 PRNP 4699600 4699600 PRNP_4 GCAGTGGTGGGGGGCCTTGG +#> crisprpam primer revtranscript +#> <character> <character> <character> +#> CFTR_1 TGG AAGAAAATATCAT CTTTGGTGTTTCCTAT +#> CFTR_2 AGG TATCTATATTCAT CATAGGAAACACCAAA +#> HBB_1 AGG GTGCATCTGACTC CTGAGGAGAAGTCTGC +#> HBB_2 AGG CGGCAGACTTCTC CTCAGGAGTCAGATGC +#> HEXA_1 GGG GAAATCCTTCCAG TCAGGGCCATAGGATA +#> HEXA_2 AGG TTCCAGTCAGGGC CATAGGATATACGGTT +#> PRNP_1 GGG GCTGGGGCAGTGG TGGGGGGCCTTGGCGG +#> PRNP_2 GGG CTGGGGCAGTGGT GGGGGGCCTTGGCGGC +#> PRNP_3 TGG CAGTGGTGGGGGG CCTTGGCGGCTACATG +#> PRNP_4 CGG TGGTGGGGGGCCT TGGCGGCTACATGCTG +#> extension Doench2014 +#> <character> <numeric> +#> CFTR_1 ATAGGAAACACCAAAGATGATATTTTCTT 0.0339998970537971 +#> CFTR_2 TTTGGTGTTTCCTATGATGAATATAGATA 0.223370560176775 +#> HBB_1 GCAGACTTCTCCTCAGGAGTCAGATGCAC 0.13111422370078 +#> HBB_2 GCATCTGACTCCTGAGGAGAAGTCTGCCG 0.413980645125447 +#> HEXA_1 TATCCTATGGCCCTGACTGGAAGGATTTC 0.107283614825074 +#> HEXA_2 AACCGTATATCCTATGGCCCTGACTGGAA 0.0394252780338432 +#> PRNP_1 CCGCCAAGGCCCCCCACCACTGCCCCAGC 0.00994899162104746 +#> PRNP_2 GCCGCCAAGGCCCCCCACCACTGCCCCAG 0.0449662673405108 +#> PRNP_3 CATGTAGCCGCCAAGGCCCCCCACCACTG 0.00996253852673941 +#> PRNP_4 CAGCATGTAGCCGCCAAGGCCCCCCACCA 0.20935862741641 +#> ------- +#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'> <span class='co'># reticulate::use_condaenv('azienv')</span> + <span class='co'># reticulate::import('azimuth')</span> + <span class='co'># spacers %<>% add_efficiency(bsgenome, 'Doench2016')</span> + <span class='co'># filter_efficient(spacers, bsgenome, 'Doench2016', 0.4)</span> + +<span class='co'># TFBS example</span> +<span class='co'>#-------------</span> + <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) + <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> + <span class='no'>targets</span> <span class='kw'><-</span> <span class='fu'><a href='up_flank.html'>extend</a></span>(<span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='st'>'mm10'</span>))</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='add_efficiency-3.png' alt='' width='700' height='433' /></div><div class='input'> <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_spacers.html'>find_spacers</a></span>(<span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='img'><img src='add_efficiency-4.png' alt='' width='700' height='433' /></div><div class='input'> # reticulate::use_condaenv('azienv') + # reticulate::import('azienv') + # (spacers %<>% add_offtargets(bsgenome, targets)) + # (spacers %>% add_efficiency(bsgenome, 'Doench2014')) + # (spacers %>% add_efficiency(bsgenome, 'Doench2016')) +</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#details">Details</a></li> + <li><a href="#references">References</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/add_genome_counts-1.png b/public/reference/add_genome_counts-1.png index f9eebb3779749d8050eae637fca854c586361a30..36e76a4da140c8ca4e71414a0429a1ca1f1698c8 100644 Binary files a/public/reference/add_genome_counts-1.png and b/public/reference/add_genome_counts-1.png differ diff --git a/public/reference/add_genome_counts-2.png b/public/reference/add_genome_counts-2.png index 2fa9dd21011d9aa61c2a5d26172ac121a09e78f3..f7ac80ffc8c47fd48735082a7978c4c3f9ab887a 100644 Binary files a/public/reference/add_genome_counts-2.png and b/public/reference/add_genome_counts-2.png differ diff --git a/public/reference/add_genome_counts-3.png b/public/reference/add_genome_counts-3.png index d9f5e72fc41de6d79da4542471713fe9f529710a..c8ec4f45e6e192df52b236e194d0d4643c337368 100644 Binary files a/public/reference/add_genome_counts-3.png and b/public/reference/add_genome_counts-3.png differ diff --git a/public/reference/add_genome_counts.html b/public/reference/add_genome_counts.html index 6ab15ae24fc23e261329927732c6d7a7a624fd47..d9618b3bbbb6da24dbce748e8e4d83eb934a3b3e 100644 --- a/public/reference/add_genome_counts.html +++ b/public/reference/add_genome_counts.html @@ -1,238 +1,238 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Add genome counts — add_genome_counts • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Add genome counts — add_genome_counts" /> -<meta property="og:description" content="Count spacer matches to genome and add to GRanges" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Add genome counts</h1> - - <div class="hidden name"><code>add_genome_counts.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Count spacer matches to genome and add to GRanges</p> - </div> - - <pre class="usage"><span class='fu'>add_genome_counts</span>( - <span class='no'>spacers</span>, - <span class='kw'>bsgenome</span> <span class='kw'>=</span> <span class='fu'>getBSgenome</span>(<span class='fu'>genome</span>(<span class='no'>spacers</span>)[<span class='fl'>1</span>]), - <span class='kw'>mismatches</span> <span class='kw'>=</span> <span class='fl'>2</span>, - <span class='kw'>pam</span> <span class='kw'>=</span> <span class='st'>"NGG"</span>, - <span class='kw'>outdir</span> <span class='kw'>=</span> <span class='no'>OUTDIR</span>, - <span class='kw'>indexedgenomesdir</span> <span class='kw'>=</span> <span class='no'>INDEXEDGENOMESDIR</span>, - <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>, - <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span> -)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>spacers</th> - <td><p>spacer <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> - </tr> - <tr> - <th>bsgenome</th> - <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> - </tr> - <tr> - <th>mismatches</th> - <td><p>number (default 2): max number of mismatches to consider</p></td> - </tr> - <tr> - <th>pam</th> - <td><p>string (default 'NGG') pam pattern to expand</p></td> - </tr> - <tr> - <th>outdir</th> - <td><p>dir where output is written to</p></td> - </tr> - <tr> - <th>indexedgenomesdir</th> - <td><p>string: dir with indexed genomes</p></td> - </tr> - <tr> - <th>plot</th> - <td><p>FALSE (default) or TRUE</p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>TRUE (default) or FALSE</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>spacer GRanges with additional mcols</p> - <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2> - - <p>Expands iupac amgiguities in the pam sequence. -Matches all resulting sequences against (indexes) target and genome. -Adds match counts to GRanges object, and then returns it.</p> - <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2> - - <div class='dont-index'><p><code><a href='index_genome.html'>index_genome</a></code>, <code><a href='index_targets.html'>index_targets</a></code></p></div> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='co'># PE example</span> -<span class='co'>#-----------</span> - <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) - <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> - <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> - <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> - <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> - <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> - <span class='no'>bsgenome</span>) - <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_pe_spacers.html'>find_pe_spacers</a></span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>)</div><div class='img'><img src='add_genome_counts-1.png' alt='' width='700' height='433' /></div><div class='input'> <span class='co'># index_genome(bsgenome)</span> - <span class='co'># add_genome_counts(spacers, bsgenome, mismatches=0, plot = TRUE)</span> - -<span class='co'># TFBS example</span> -<span class='co'>#-------------</span> - <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> - <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) - <span class='no'>targets</span> <span class='kw'><-</span> <span class='fu'><a href='up_flank.html'>extend</a></span>(<span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='kw'>genome</span> <span class='kw'>=</span> <span class='st'>'mm10'</span>))</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='add_genome_counts-2.png' alt='' width='700' height='433' /></div><div class='input'> <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_spacers.html'>find_spacers</a></span>(<span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='img'><img src='add_genome_counts-3.png' alt='' width='700' height='433' /></div><div class='input'> # index_genome(bsgenome) - # add_genome_counts(spacers, bsgenome) - # add_genome_counts(spacers, bsgenome, mismatches=3) -</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#details">Details</a></li> - <li><a href="#see-also">See also</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Add genome counts — add_genome_counts • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Add genome counts — add_genome_counts" /> +<meta property="og:description" content="Count spacer matches to genome and add to GRanges" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Add genome counts</h1> + + <div class="hidden name"><code>add_genome_counts.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Count spacer matches to genome and add to GRanges</p> + </div> + + <pre class="usage"><span class='fu'>add_genome_counts</span>( + <span class='no'>spacers</span>, + <span class='kw'>bsgenome</span> <span class='kw'>=</span> <span class='fu'>getBSgenome</span>(<span class='fu'>genome</span>(<span class='no'>spacers</span>)[<span class='fl'>1</span>]), + <span class='kw'>mismatches</span> <span class='kw'>=</span> <span class='fl'>2</span>, + <span class='kw'>pam</span> <span class='kw'>=</span> <span class='st'>"NGG"</span>, + <span class='kw'>outdir</span> <span class='kw'>=</span> <span class='no'>OUTDIR</span>, + <span class='kw'>indexedgenomesdir</span> <span class='kw'>=</span> <span class='no'>INDEXEDGENOMESDIR</span>, + <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>, + <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span> +)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>spacers</th> + <td><p>spacer <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> + </tr> + <tr> + <th>bsgenome</th> + <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> + </tr> + <tr> + <th>mismatches</th> + <td><p>number (default 2): max number of mismatches to consider</p></td> + </tr> + <tr> + <th>pam</th> + <td><p>string (default 'NGG') pam pattern to expand</p></td> + </tr> + <tr> + <th>outdir</th> + <td><p>dir where output is written to</p></td> + </tr> + <tr> + <th>indexedgenomesdir</th> + <td><p>string: dir with indexed genomes</p></td> + </tr> + <tr> + <th>plot</th> + <td><p>FALSE (default) or TRUE</p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>TRUE (default) or FALSE</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>spacer GRanges with additional mcols</p> + <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2> + + <p>Expands iupac amgiguities in the pam sequence. +Matches all resulting sequences against (indexes) target and genome. +Adds match counts to GRanges object, and then returns it.</p> + <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2> + + <div class='dont-index'><p><code><a href='index_genome.html'>index_genome</a></code>, <code><a href='index_targets.html'>index_targets</a></code></p></div> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='co'># PE example</span> +<span class='co'>#-----------</span> + <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) + <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> + <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> + <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> + <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> + <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> + <span class='no'>bsgenome</span>) + <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_pe_spacers.html'>find_pe_spacers</a></span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>)</div><div class='img'><img src='add_genome_counts-1.png' alt='' width='700' height='433' /></div><div class='input'> <span class='co'># index_genome(bsgenome)</span> + <span class='co'># add_genome_counts(spacers, bsgenome, mismatches=0, plot = TRUE)</span> + +<span class='co'># TFBS example</span> +<span class='co'>#-------------</span> + <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> + <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) + <span class='no'>targets</span> <span class='kw'><-</span> <span class='fu'><a href='up_flank.html'>extend</a></span>(<span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='kw'>genome</span> <span class='kw'>=</span> <span class='st'>'mm10'</span>))</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='add_genome_counts-2.png' alt='' width='700' height='433' /></div><div class='input'> <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_spacers.html'>find_spacers</a></span>(<span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='img'><img src='add_genome_counts-3.png' alt='' width='700' height='433' /></div><div class='input'> # index_genome(bsgenome) + # add_genome_counts(spacers, bsgenome) + # add_genome_counts(spacers, bsgenome, mismatches=3) +</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#details">Details</a></li> + <li><a href="#see-also">See also</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/add_inverse_strand-1.png b/public/reference/add_inverse_strand-1.png index 91dfba09cdb49e8c6a43ef4c10e205b2accddbdb..6568a75515801b16b4ec5dedb9cf85bc9f0c810b 100644 Binary files a/public/reference/add_inverse_strand-1.png and b/public/reference/add_inverse_strand-1.png differ diff --git a/public/reference/add_inverse_strand-2.png b/public/reference/add_inverse_strand-2.png index 2fa9dd21011d9aa61c2a5d26172ac121a09e78f3..f7ac80ffc8c47fd48735082a7978c4c3f9ab887a 100644 Binary files a/public/reference/add_inverse_strand-2.png and b/public/reference/add_inverse_strand-2.png differ diff --git a/public/reference/add_inverse_strand.html b/public/reference/add_inverse_strand.html index aed2dffff65eafd8f4e088fa6cae52b25bb51dbd..ef34c4171dee1d96d8405ac004e44d38f7379072 100644 --- a/public/reference/add_inverse_strand.html +++ b/public/reference/add_inverse_strand.html @@ -1,246 +1,246 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Add inverse strand — add_inverse_strand • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Add inverse strand — add_inverse_strand" /> -<meta property="og:description" content="Add inverse strand" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Add inverse strand</h1> - - <div class="hidden name"><code>add_inverse_strand.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Add inverse strand</p> - </div> - - <pre class="usage"><span class='fu'>add_inverse_strand</span>(<span class='no'>gr</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>, <span class='no'>...</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>gr</th> - <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>TRUE or FALSE (default)</p></td> - </tr> - <tr> - <th>plot</th> - <td><p>TRUE or FALSE (default)</p></td> - </tr> - <tr> - <th>...</th> - <td><p><code><a href='plot_intervals.html'>plot_intervals</a></code> arguments</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='co'># PE example</span> -<span class='co'>#-----------</span> - <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) - <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> - <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> - <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> - <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> - <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> - <span class='no'>bsgenome</span>) - <span class='fu'>add_inverse_strand</span>(<span class='no'>gr</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='img'><img src='add_inverse_strand-1.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 8 ranges and 3 metadata columns: -#> seqnames ranges strand | targetname targetstart -#> <Rle> <IRanges> <Rle> | <character> <integer> -#> CFTR_f chr7 117559593-117559595 + | CFTR 117559593 -#> CFTR_r chr7 117559593-117559595 - | CFTR 117559593 -#> HBB_r chr11 5227002 - | HBB 5227002 -#> HBB_f chr11 5227002 + | HBB 5227002 -#> HEXA_r chr15 72346580-72346583 - | HEXA 72346580 -#> HEXA_f chr15 72346580-72346583 + | HEXA 72346580 -#> PRNP_f chr20 4699600 + | PRNP 4699600 -#> PRNP_r chr20 4699600 - | PRNP 4699600 -#> targetend -#> <integer> -#> CFTR_f 117559595 -#> CFTR_r 117559595 -#> HBB_r 5227002 -#> HBB_f 5227002 -#> HEXA_r 72346583 -#> HEXA_f 72346583 -#> PRNP_f 4699600 -#> PRNP_r 4699600 -#> ------- -#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'><span class='co'># TFBS example</span> -<span class='co'>#-------------</span> - <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span><span class='kw'>=</span><span class='st'>'multicrispr'</span>) - <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='kw'>genome</span> <span class='kw'>=</span> <span class='st'>'mm10'</span>)</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='add_inverse_strand-2.png' alt='' width='700' height='433' /></div><div class='input'> <span class='fu'>add_inverse_strand</span>(<span class='no'>gr</span>)</div><div class='output co'>#> GRanges object with 3948 ranges and 5 metadata columns: -#> seqnames ranges strand | name score -#> <Rle> <IRanges> <Rle> | <character> <numeric> -#> T0001_r chr1 4712628-4712643 - | SRF_MA0083.3 10.49542 -#> T0001_f chr1 4712628-4712643 + | SRF_MA0083.3 10.49542 -#> T0002_r chr1 5250212-5250227 - | SRF_MA0083.3 9.7378 -#> T0002_f chr1 5250212-5250227 + | SRF_MA0083.3 9.7378 -#> T0003_r chr1 5250452-5250467 - | SRF_MA0083.3 5.92033 -#> ... ... ... ... . ... ... -#> T1972_f chrY 42512400-42512415 + | SRF_MA0083.3 6.59053 -#> T1973_r chrY 79048176-79048191 - | SRF_MA0083.3 9.7378 -#> T1973_f chrY 79048176-79048191 + | SRF_MA0083.3 9.7378 -#> T1974_r chrY 89126494-89126509 - | SRF_MA0083.3 4.54393 -#> T1974_f chrY 89126494-89126509 + | SRF_MA0083.3 4.54393 -#> targetname targetstart targetend -#> <character> <integer> <integer> -#> T0001_r T0001 4712628 4712643 -#> T0001_f T0001 4712628 4712643 -#> T0002_r T0002 5250212 5250227 -#> T0002_f T0002 5250212 5250227 -#> T0003_r T0003 5250452 5250467 -#> ... ... ... ... -#> T1972_f T1972 42512400 42512415 -#> T1973_r T1973 79048176 79048191 -#> T1973_f T1973 79048176 79048191 -#> T1974_r T1974 89126494 89126509 -#> T1974_f T1974 89126494 89126509 -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Add inverse strand — add_inverse_strand • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Add inverse strand — add_inverse_strand" /> +<meta property="og:description" content="Add inverse strand" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Add inverse strand</h1> + + <div class="hidden name"><code>add_inverse_strand.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Add inverse strand</p> + </div> + + <pre class="usage"><span class='fu'>add_inverse_strand</span>(<span class='no'>gr</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>, <span class='no'>...</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>gr</th> + <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>TRUE or FALSE (default)</p></td> + </tr> + <tr> + <th>plot</th> + <td><p>TRUE or FALSE (default)</p></td> + </tr> + <tr> + <th>...</th> + <td><p><code><a href='plot_intervals.html'>plot_intervals</a></code> arguments</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='co'># PE example</span> +<span class='co'>#-----------</span> + <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) + <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> + <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> + <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> + <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> + <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> + <span class='no'>bsgenome</span>) + <span class='fu'>add_inverse_strand</span>(<span class='no'>gr</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='img'><img src='add_inverse_strand-1.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 8 ranges and 3 metadata columns: +#> seqnames ranges strand | targetname targetstart +#> <Rle> <IRanges> <Rle> | <character> <integer> +#> CFTR_f chr7 117559593-117559595 + | CFTR 117559593 +#> CFTR_r chr7 117559593-117559595 - | CFTR 117559593 +#> HBB_r chr11 5227002 - | HBB 5227002 +#> HBB_f chr11 5227002 + | HBB 5227002 +#> HEXA_r chr15 72346580-72346583 - | HEXA 72346580 +#> HEXA_f chr15 72346580-72346583 + | HEXA 72346580 +#> PRNP_f chr20 4699600 + | PRNP 4699600 +#> PRNP_r chr20 4699600 - | PRNP 4699600 +#> targetend +#> <integer> +#> CFTR_f 117559595 +#> CFTR_r 117559595 +#> HBB_r 5227002 +#> HBB_f 5227002 +#> HEXA_r 72346583 +#> HEXA_f 72346583 +#> PRNP_f 4699600 +#> PRNP_r 4699600 +#> ------- +#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'><span class='co'># TFBS example</span> +<span class='co'>#-------------</span> + <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span><span class='kw'>=</span><span class='st'>'multicrispr'</span>) + <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='kw'>genome</span> <span class='kw'>=</span> <span class='st'>'mm10'</span>)</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='add_inverse_strand-2.png' alt='' width='700' height='433' /></div><div class='input'> <span class='fu'>add_inverse_strand</span>(<span class='no'>gr</span>)</div><div class='output co'>#> GRanges object with 3948 ranges and 5 metadata columns: +#> seqnames ranges strand | name score +#> <Rle> <IRanges> <Rle> | <character> <numeric> +#> T0001_r chr1 4712628-4712643 - | SRF_MA0083.3 10.49542 +#> T0001_f chr1 4712628-4712643 + | SRF_MA0083.3 10.49542 +#> T0002_r chr1 5250212-5250227 - | SRF_MA0083.3 9.7378 +#> T0002_f chr1 5250212-5250227 + | SRF_MA0083.3 9.7378 +#> T0003_r chr1 5250452-5250467 - | SRF_MA0083.3 5.92033 +#> ... ... ... ... . ... ... +#> T1972_f chrY 42512400-42512415 + | SRF_MA0083.3 6.59053 +#> T1973_r chrY 79048176-79048191 - | SRF_MA0083.3 9.7378 +#> T1973_f chrY 79048176-79048191 + | SRF_MA0083.3 9.7378 +#> T1974_r chrY 89126494-89126509 - | SRF_MA0083.3 4.54393 +#> T1974_f chrY 89126494-89126509 + | SRF_MA0083.3 4.54393 +#> targetname targetstart targetend +#> <character> <integer> <integer> +#> T0001_r T0001 4712628 4712643 +#> T0001_f T0001 4712628 4712643 +#> T0002_r T0002 5250212 5250227 +#> T0002_f T0002 5250212 5250227 +#> T0003_r T0003 5250452 5250467 +#> ... ... ... ... +#> T1972_f T1972 42512400 42512415 +#> T1973_r T1973 79048176 79048191 +#> T1973_f T1973 79048176 79048191 +#> T1974_r T1974 89126494 89126509 +#> T1974_f T1974 89126494 89126509 +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/add_offtargets-1.png b/public/reference/add_offtargets-1.png index f9eebb3779749d8050eae637fca854c586361a30..36e76a4da140c8ca4e71414a0429a1ca1f1698c8 100644 Binary files a/public/reference/add_offtargets-1.png and b/public/reference/add_offtargets-1.png differ diff --git a/public/reference/add_offtargets-2.png b/public/reference/add_offtargets-2.png index 2fa9dd21011d9aa61c2a5d26172ac121a09e78f3..f7ac80ffc8c47fd48735082a7978c4c3f9ab887a 100644 Binary files a/public/reference/add_offtargets-2.png and b/public/reference/add_offtargets-2.png differ diff --git a/public/reference/add_offtargets-3.png b/public/reference/add_offtargets-3.png index d9f5e72fc41de6d79da4542471713fe9f529710a..c8ec4f45e6e192df52b236e194d0d4643c337368 100644 Binary files a/public/reference/add_offtargets-3.png and b/public/reference/add_offtargets-3.png differ diff --git a/public/reference/add_offtargets.html b/public/reference/add_offtargets.html index c9a57d46c79aee7b1c04326f9181144d695d3ab1..2f34306b87423e29e95443c245a1cdcab5647ab3 100644 --- a/public/reference/add_offtargets.html +++ b/public/reference/add_offtargets.html @@ -1,255 +1,255 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Add offtarget counts — add_specificity • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Add offtarget counts — add_specificity" /> -<meta property="og:description" content="Add mcols 'off' (offtargets), 'off0' (0-mismatch offtargets), etc." /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Add offtarget counts</h1> - - <div class="hidden name"><code>add_offtargets.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Add mcols 'off' (offtargets), 'off0' (0-mismatch offtargets), etc.</p> - </div> - - <pre class="usage"><span class='fu'>add_specificity</span>(<span class='no'>...</span>) - -<span class='fu'>add_offtargets</span>( - <span class='no'>spacers</span>, - <span class='no'>bsgenome</span>, - <span class='kw'>targets</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, - <span class='kw'>mismatches</span> <span class='kw'>=</span> <span class='fl'>2</span>, - <span class='kw'>pam</span> <span class='kw'>=</span> <span class='st'>"NGG"</span>, - <span class='kw'>outdir</span> <span class='kw'>=</span> <span class='no'>OUTDIR</span>, - <span class='kw'>indexedgenomesdir</span> <span class='kw'>=</span> <span class='no'>INDEXEDGENOMESDIR</span>, - <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, - <span class='kw'>size_var</span> <span class='kw'>=</span> <span class='fu'>default_size_var</span>(<span class='no'>spacers</span>), - <span class='kw'>alpha_var</span> <span class='kw'>=</span> <span class='st'>"off"</span>, - <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span> -)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>...</th> - <td><p>to channel deprecated add_specificity to add_offtargets</p></td> - </tr> - <tr> - <th>spacers</th> - <td><p>spacer <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> - </tr> - <tr> - <th>bsgenome</th> - <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> - </tr> - <tr> - <th>targets</th> - <td><p>NULL (default) or target -<code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> - </tr> - <tr> - <th>mismatches</th> - <td><p>number (default 2): max number of mismatches to consider</p></td> - </tr> - <tr> - <th>pam</th> - <td><p>string (default 'NGG'): pam sequence</p></td> - </tr> - <tr> - <th>outdir</th> - <td><p>directory where output is written to</p></td> - </tr> - <tr> - <th>indexedgenomesdir</th> - <td><p>string: dir with indexed genomes</p></td> - </tr> - <tr> - <th>plot</th> - <td><p>TRUE (default) or FALSE</p></td> - </tr> - <tr> - <th>size_var</th> - <td><p>string: mapped to size in plot</p></td> - </tr> - <tr> - <th>alpha_var</th> - <td><p>string: mapped to alpha in plot</p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>TRUE (default) or FALSE</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>filtered spacer <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> - <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2> - - <p>For NULL targets: offtarget counts = (G0- 1) + G1 + ... -Non-NULL targets: offtarget counts = (G0-T0) + (G1-T1) + ...</p> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='co'># PE example</span> -<span class='co'>#-----------</span> - <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) - <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> - <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> - <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> - <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> - <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> - <span class='no'>bsgenome</span>) - <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_pe_spacers.html'>find_pe_spacers</a></span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>)</div><div class='img'><img src='add_offtargets-1.png' alt='' width='700' height='433' /></div><div class='input'> <span class='co'># index_genome(bsgenome)</span> - <span class='co'># add_offtargets(spacers, bsgenome, mismatches=0)</span> - <span class='co'># add_offtargets(spacers, bsgenome, mismatches=2)</span> -<span class='co'># TFBS example</span> -<span class='co'>#-------------</span> - <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> - <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) - <span class='no'>targets</span> <span class='kw'><-</span> <span class='fu'><a href='up_flank.html'>extend</a></span>(<span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='kw'>genome</span> <span class='kw'>=</span> <span class='st'>'mm10'</span>))</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='add_offtargets-2.png' alt='' width='700' height='433' /></div><div class='input'> <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_spacers.html'>find_spacers</a></span>(<span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='img'><img src='add_offtargets-3.png' alt='' width='700' height='433' /></div><div class='input'> # index_genome(bsgenome) - # spacers %>% add_offtargets(bsgenome) # off = G - 1 - # spacers %>% add_offtargets(bsgenome, targets) # off = G - T -</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#details">Details</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Add offtarget counts — add_specificity • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Add offtarget counts — add_specificity" /> +<meta property="og:description" content="Add mcols 'off' (offtargets), 'off0' (0-mismatch offtargets), etc." /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Add offtarget counts</h1> + + <div class="hidden name"><code>add_offtargets.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Add mcols 'off' (offtargets), 'off0' (0-mismatch offtargets), etc.</p> + </div> + + <pre class="usage"><span class='fu'>add_specificity</span>(<span class='no'>...</span>) + +<span class='fu'>add_offtargets</span>( + <span class='no'>spacers</span>, + <span class='no'>bsgenome</span>, + <span class='kw'>targets</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, + <span class='kw'>mismatches</span> <span class='kw'>=</span> <span class='fl'>2</span>, + <span class='kw'>pam</span> <span class='kw'>=</span> <span class='st'>"NGG"</span>, + <span class='kw'>outdir</span> <span class='kw'>=</span> <span class='no'>OUTDIR</span>, + <span class='kw'>indexedgenomesdir</span> <span class='kw'>=</span> <span class='no'>INDEXEDGENOMESDIR</span>, + <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, + <span class='kw'>size_var</span> <span class='kw'>=</span> <span class='fu'>default_size_var</span>(<span class='no'>spacers</span>), + <span class='kw'>alpha_var</span> <span class='kw'>=</span> <span class='st'>"off"</span>, + <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span> +)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>...</th> + <td><p>to channel deprecated add_specificity to add_offtargets</p></td> + </tr> + <tr> + <th>spacers</th> + <td><p>spacer <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> + </tr> + <tr> + <th>bsgenome</th> + <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> + </tr> + <tr> + <th>targets</th> + <td><p>NULL (default) or target +<code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> + </tr> + <tr> + <th>mismatches</th> + <td><p>number (default 2): max number of mismatches to consider</p></td> + </tr> + <tr> + <th>pam</th> + <td><p>string (default 'NGG'): pam sequence</p></td> + </tr> + <tr> + <th>outdir</th> + <td><p>directory where output is written to</p></td> + </tr> + <tr> + <th>indexedgenomesdir</th> + <td><p>string: dir with indexed genomes</p></td> + </tr> + <tr> + <th>plot</th> + <td><p>TRUE (default) or FALSE</p></td> + </tr> + <tr> + <th>size_var</th> + <td><p>string: mapped to size in plot</p></td> + </tr> + <tr> + <th>alpha_var</th> + <td><p>string: mapped to alpha in plot</p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>TRUE (default) or FALSE</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>filtered spacer <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> + <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2> + + <p>For NULL targets: offtarget counts = (G0- 1) + G1 + ... +Non-NULL targets: offtarget counts = (G0-T0) + (G1-T1) + ...</p> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='co'># PE example</span> +<span class='co'>#-----------</span> + <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) + <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> + <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> + <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> + <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> + <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> + <span class='no'>bsgenome</span>) + <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_pe_spacers.html'>find_pe_spacers</a></span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>)</div><div class='img'><img src='add_offtargets-1.png' alt='' width='700' height='433' /></div><div class='input'> <span class='co'># index_genome(bsgenome)</span> + <span class='co'># add_offtargets(spacers, bsgenome, mismatches=0)</span> + <span class='co'># add_offtargets(spacers, bsgenome, mismatches=2)</span> +<span class='co'># TFBS example</span> +<span class='co'>#-------------</span> + <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> + <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) + <span class='no'>targets</span> <span class='kw'><-</span> <span class='fu'><a href='up_flank.html'>extend</a></span>(<span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='kw'>genome</span> <span class='kw'>=</span> <span class='st'>'mm10'</span>))</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='add_offtargets-2.png' alt='' width='700' height='433' /></div><div class='input'> <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_spacers.html'>find_spacers</a></span>(<span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='img'><img src='add_offtargets-3.png' alt='' width='700' height='433' /></div><div class='input'> # index_genome(bsgenome) + # spacers %>% add_offtargets(bsgenome) # off = G - 1 + # spacers %>% add_offtargets(bsgenome, targets) # off = G - T +</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#details">Details</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/add_seq-1.png b/public/reference/add_seq-1.png index 2fa9dd21011d9aa61c2a5d26172ac121a09e78f3..f7ac80ffc8c47fd48735082a7978c4c3f9ab887a 100644 Binary files a/public/reference/add_seq-1.png and b/public/reference/add_seq-1.png differ diff --git a/public/reference/add_seq.html b/public/reference/add_seq.html index d53e3ee217c85df6d18daec1bf798d30c167efb8..e2cb211aa354885c6b451826e1498f90e1bf80f7 100644 --- a/public/reference/add_seq.html +++ b/public/reference/add_seq.html @@ -1,240 +1,240 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Add sequence to GRanges — add_seq • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Add sequence to GRanges — add_seq" /> -<meta property="og:description" content="Add sequence to GRanges" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Add sequence to GRanges</h1> - - <div class="hidden name"><code>add_seq.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Add sequence to GRanges</p> - </div> - - <pre class="usage"><span class='fu'>add_seq</span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>, <span class='kw'>as.character</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>gr</th> - <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> - </tr> - <tr> - <th>bsgenome</th> - <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>TRUE or FALSE (default)</p></td> - </tr> - <tr> - <th>as.character</th> - <td><p>TRUE (default) or FALSE</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='co'># PE example</span> -<span class='co'>#-----------</span> - <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) - <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> - <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> - <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> - <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> - <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> - <span class='no'>bsgenome</span>) - (<span class='no'>gr</span> <span class='kw'>%<>%</span> <span class='fu'>add_seq</span>(<span class='no'>bsgenome</span>))</div><div class='output co'>#> GRanges object with 4 ranges and 4 metadata columns: -#> seqnames ranges strand | targetname targetstart targetend -#> <Rle> <IRanges> <Rle> | <character> <integer> <integer> -#> PRNP chr20 4699600 + | PRNP 4699600 4699600 -#> HBB chr11 5227002 - | HBB 5227002 5227002 -#> HEXA chr15 72346580-72346583 - | HEXA 72346580 72346583 -#> CFTR chr7 117559593-117559595 + | CFTR 117559593 117559595 -#> seq -#> <character> -#> PRNP G -#> HBB A -#> HEXA TATC -#> CFTR TTT -#> ------- -#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'> -<span class='co'># TFBS example</span> -<span class='co'>#-------------</span> - <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> - <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span><span class='kw'>=</span><span class='st'>'multicrispr'</span>) - <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='st'>'mm10'</span>)</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='add_seq-1.png' alt='' width='700' height='433' /></div><div class='input'> (<span class='no'>gr</span> <span class='kw'>%<>%</span> <span class='fu'>add_seq</span>(<span class='no'>bsgenome</span>))</div><div class='output co'>#> GRanges object with 1974 ranges and 6 metadata columns: -#> seqnames ranges strand | name score targetname -#> <Rle> <IRanges> <Rle> | <character> <numeric> <character> -#> T0001 chr1 4712628-4712643 - | SRF_MA0083.3 10.49542 T0001 -#> T0002 chr1 5250212-5250227 - | SRF_MA0083.3 9.7378 T0002 -#> T0003 chr1 5250452-5250467 - | SRF_MA0083.3 5.92033 T0003 -#> T0004 chr1 5256193-5256208 - | SRF_MA0083.3 9.7378 T0004 -#> T0005 chr1 5985728-5985743 - | SRF_MA0083.3 9.44821 T0005 -#> ... ... ... ... . ... ... ... -#> T1970 chrY 6770312-6770327 + | SRF_MA0083.3 9.7378 T1970 -#> T1971 chrY 23130568-23130583 + | SRF_MA0083.3 9.7378 T1971 -#> T1972 chrY 42512400-42512415 - | SRF_MA0083.3 6.59053 T1972 -#> T1973 chrY 79048176-79048191 - | SRF_MA0083.3 9.7378 T1973 -#> T1974 chrY 89126494-89126509 - | SRF_MA0083.3 4.54393 T1974 -#> targetstart targetend seq -#> <integer> <integer> <character> -#> T0001 4712628 4712643 AGACAATATAAGGGCA -#> T0002 5250212 5250227 AGACAATATAAGGACA -#> T0003 5250452 5250467 TGACAATATTTGGAAT -#> T0004 5256193 5256208 AGACAATATAAGGACA -#> T0005 5985728 5985743 CCACCAAATATGGGCT -#> ... ... ... ... -#> T1970 6770312 6770327 AGACAATATAAGGACA -#> T1971 23130568 23130583 AGACAATATAAGGACA -#> T1972 42512400 42512415 TGGCCAAATATGTGGA -#> T1973 79048176 79048191 AGACAATATAAGGACA -#> T1974 89126494 89126509 TGCCCATACTAGGGAG -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Add sequence to GRanges — add_seq • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Add sequence to GRanges — add_seq" /> +<meta property="og:description" content="Add sequence to GRanges" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Add sequence to GRanges</h1> + + <div class="hidden name"><code>add_seq.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Add sequence to GRanges</p> + </div> + + <pre class="usage"><span class='fu'>add_seq</span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>, <span class='kw'>as.character</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>gr</th> + <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> + </tr> + <tr> + <th>bsgenome</th> + <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>TRUE or FALSE (default)</p></td> + </tr> + <tr> + <th>as.character</th> + <td><p>TRUE (default) or FALSE</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='co'># PE example</span> +<span class='co'>#-----------</span> + <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) + <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> + <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> + <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> + <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> + <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> + <span class='no'>bsgenome</span>) + (<span class='no'>gr</span> <span class='kw'>%<>%</span> <span class='fu'>add_seq</span>(<span class='no'>bsgenome</span>))</div><div class='output co'>#> GRanges object with 4 ranges and 4 metadata columns: +#> seqnames ranges strand | targetname targetstart targetend +#> <Rle> <IRanges> <Rle> | <character> <integer> <integer> +#> PRNP chr20 4699600 + | PRNP 4699600 4699600 +#> HBB chr11 5227002 - | HBB 5227002 5227002 +#> HEXA chr15 72346580-72346583 - | HEXA 72346580 72346583 +#> CFTR chr7 117559593-117559595 + | CFTR 117559593 117559595 +#> seq +#> <character> +#> PRNP G +#> HBB A +#> HEXA TATC +#> CFTR TTT +#> ------- +#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'> +<span class='co'># TFBS example</span> +<span class='co'>#-------------</span> + <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> + <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span><span class='kw'>=</span><span class='st'>'multicrispr'</span>) + <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='st'>'mm10'</span>)</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='add_seq-1.png' alt='' width='700' height='433' /></div><div class='input'> (<span class='no'>gr</span> <span class='kw'>%<>%</span> <span class='fu'>add_seq</span>(<span class='no'>bsgenome</span>))</div><div class='output co'>#> GRanges object with 1974 ranges and 6 metadata columns: +#> seqnames ranges strand | name score targetname +#> <Rle> <IRanges> <Rle> | <character> <numeric> <character> +#> T0001 chr1 4712628-4712643 - | SRF_MA0083.3 10.49542 T0001 +#> T0002 chr1 5250212-5250227 - | SRF_MA0083.3 9.7378 T0002 +#> T0003 chr1 5250452-5250467 - | SRF_MA0083.3 5.92033 T0003 +#> T0004 chr1 5256193-5256208 - | SRF_MA0083.3 9.7378 T0004 +#> T0005 chr1 5985728-5985743 - | SRF_MA0083.3 9.44821 T0005 +#> ... ... ... ... . ... ... ... +#> T1970 chrY 6770312-6770327 + | SRF_MA0083.3 9.7378 T1970 +#> T1971 chrY 23130568-23130583 + | SRF_MA0083.3 9.7378 T1971 +#> T1972 chrY 42512400-42512415 - | SRF_MA0083.3 6.59053 T1972 +#> T1973 chrY 79048176-79048191 - | SRF_MA0083.3 9.7378 T1973 +#> T1974 chrY 89126494-89126509 - | SRF_MA0083.3 4.54393 T1974 +#> targetstart targetend seq +#> <integer> <integer> <character> +#> T0001 4712628 4712643 AGACAATATAAGGGCA +#> T0002 5250212 5250227 AGACAATATAAGGACA +#> T0003 5250452 5250467 TGACAATATTTGGAAT +#> T0004 5256193 5256208 AGACAATATAAGGACA +#> T0005 5985728 5985743 CCACCAAATATGGGCT +#> ... ... ... ... +#> T1970 6770312 6770327 AGACAATATAAGGACA +#> T1971 23130568 23130583 AGACAATATAAGGACA +#> T1972 42512400 42512415 TGGCCAAATATGTGGA +#> T1973 79048176 79048191 AGACAATATAAGGACA +#> T1974 89126494 89126509 TGCCCATACTAGGGAG +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/add_target_counts-1.png b/public/reference/add_target_counts-1.png index 2fa9dd21011d9aa61c2a5d26172ac121a09e78f3..f7ac80ffc8c47fd48735082a7978c4c3f9ab887a 100644 Binary files a/public/reference/add_target_counts-1.png and b/public/reference/add_target_counts-1.png differ diff --git a/public/reference/add_target_counts-2.png b/public/reference/add_target_counts-2.png index d9f5e72fc41de6d79da4542471713fe9f529710a..c8ec4f45e6e192df52b236e194d0d4643c337368 100644 Binary files a/public/reference/add_target_counts-2.png and b/public/reference/add_target_counts-2.png differ diff --git a/public/reference/add_target_counts.html b/public/reference/add_target_counts.html index b74ee154b8a10c16cd7dc6e972e183b122a5af30..d418e142a16db8d8fd2edc58a83f0b02b5ef123b 100644 --- a/public/reference/add_target_counts.html +++ b/public/reference/add_target_counts.html @@ -1,259 +1,259 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Add target counts — add_target_counts • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Add target counts — add_target_counts" /> -<meta property="og:description" content="Count spacer matches among targets" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Add target counts</h1> - - <div class="hidden name"><code>add_target_counts.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Count spacer matches among targets</p> - </div> - - <pre class="usage"><span class='fu'>add_target_counts</span>( - <span class='no'>spacers</span>, - <span class='no'>targets</span>, - <span class='no'>bsgenome</span>, - <span class='kw'>mismatches</span> <span class='kw'>=</span> <span class='fl'>2</span>, - <span class='kw'>pam</span> <span class='kw'>=</span> <span class='st'>"NGG"</span>, - <span class='kw'>outdir</span> <span class='kw'>=</span> <span class='no'>OUTDIR</span>, - <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span> -)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>spacers</th> - <td><p>spacer <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> - </tr> - <tr> - <th>targets</th> - <td><p>target <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> - </tr> - <tr> - <th>bsgenome</th> - <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> - </tr> - <tr> - <th>mismatches</th> - <td><p>number (default 2): max number of mismatches to consider</p></td> - </tr> - <tr> - <th>pam</th> - <td><p>string (default 'NGG') pam pattern to expand</p></td> - </tr> - <tr> - <th>outdir</th> - <td><p>dir where output is written to</p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>TRUE (default) or FALSE</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>updated spacer <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> - <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2> - - <p>Expands iupac amgiguities in the pam sequence. -Matches all resulting sequences against (indexes) target and genome. -Adds match counts to GRanges object, and then returns it.</p> - <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2> - - <div class='dont-index'><p><code><a href='index_genome.html'>index_genome</a></code>, <code><a href='index_targets.html'>index_targets</a></code></p></div> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='co'># TFBS example</span> -<span class='co'>#-------------</span> - <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> - <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) - <span class='no'>targets</span> <span class='kw'><-</span> <span class='fu'><a href='up_flank.html'>extend</a></span>(<span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='kw'>genome</span> <span class='kw'>=</span> <span class='st'>'mm10'</span>))</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='add_target_counts-1.png' alt='' width='700' height='433' /></div><div class='input'> <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_spacers.html'>find_spacers</a></span>(<span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='img'><img src='add_target_counts-2.png' alt='' width='700' height='433' /></div><div class='input'> <span class='fu'>add_target_counts</span>(<span class='no'>spacers</span>, <span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Index target sequences</span></div><div class='output co'>#> <span class='message'> 1974 target ranges</span></div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='output co'>#> <span class='message'> 3932 ranges after merging overlaps</span></div><div class='output co'>#> <span class='message'> Write seqs to ~/multicrisprout/targets/targets.fa</span></div><div class='output co'>#> <span class='message'> Write index to ~/multicrisprout/targets/targets</span></div><div class='output co'>#> <span class='message'> Add target counts</span></div><div class='output co'>#> <span class='message'> Expand iupac ambiguities in pam</span></div><div class='output co'>#> <span class='message'> Write reads to ~/multicrisprout/spacers.fa</span></div><div class='output co'>#> <span class='message'> Map reads: ~/multicrisprout/spacers/spacers_to_targets.txt</span></div><div class='output co'>#> <span class='message'> Load results</span></div><div class='output co'>#> <span class='message'> Count matches</span></div><div class='output co'>#> GRanges object with 10159 ranges and 11 metadata columns: -#> seqnames ranges strand | targetname targetstart -#> <Rle> <IRanges> <Rle> | <character> <integer> -#> T0001_r_5 chr1 4712619-4712638 - | T0001 4712628 -#> T0001_r_4 chr1 4712620-4712639 - | T0001 4712628 -#> T0001_r_3 chr1 4712627-4712646 - | T0001 4712628 -#> T0001_r_2 chr1 4712633-4712652 - | T0001 4712628 -#> T0001_r_1 chr1 4712634-4712653 - | T0001 4712628 -#> ... ... ... ... . ... ... -#> T1974_r_3 chrY 89126492-89126511 - | T1974 89126494 -#> T1974_f_3 chrY 89126496-89126515 + | T1974 89126494 -#> T1974_r_2 chrY 89126499-89126518 - | T1974 89126494 -#> T1974_r_1 chrY 89126500-89126519 - | T1974 89126494 -#> T1974_f_4 chrY 89126501-89126520 + | T1974 89126494 -#> targetend crisprname crisprspacer crisprpam name -#> <integer> <character> <character> <character> <character> -#> T0001_r_5 4712643 T0001_r_5 ATATAAGGGCATTGGAAGAA GGG SRF_MA0083.3 -#> T0001_r_4 4712643 T0001_r_4 AATATAAGGGCATTGGAAGA AGG SRF_MA0083.3 -#> T0001_r_3 4712643 T0001_r_3 TGGAGACAATATAAGGGCAT TGG SRF_MA0083.3 -#> T0001_r_2 4712643 T0001_r_2 TTCTGCTGGAGACAATATAA GGG SRF_MA0083.3 -#> T0001_r_1 4712643 T0001_r_1 CTTCTGCTGGAGACAATATA AGG SRF_MA0083.3 -#> ... ... ... ... ... ... -#> T1974_r_3 89126509 T1974_r_3 TTTGCCCATACTAGGGAGAG CGG SRF_MA0083.3 -#> T1974_f_3 89126509 T1974_f_3 CCCTAGTATGGGCAAATATA TGG SRF_MA0083.3 -#> T1974_r_2 89126509 T1974_r_2 CCATATATTTGCCCATACTA GGG SRF_MA0083.3 -#> T1974_r_1 89126509 T1974_r_1 TCCATATATTTGCCCATACT AGG SRF_MA0083.3 -#> T1974_f_4 89126509 T1974_f_4 GTATGGGCAAATATATGGAA TGG SRF_MA0083.3 -#> score T0 T1 T2 -#> <numeric> <integer> <integer> <integer> -#> T0001_r_5 10.49542 1 973 97 -#> T0001_r_4 10.49542 1 960 105 -#> T0001_r_3 10.49542 1 975 95 -#> T0001_r_2 10.49542 2 827 237 -#> T0001_r_1 10.49542 825 242 19 -#> ... ... ... ... ... -#> T1974_r_3 4.54393 5 3 7 -#> T1974_f_3 4.54393 5 1 9 -#> T1974_r_2 4.54393 5 1 9 -#> T1974_r_1 4.54393 6 0 9 -#> T1974_f_4 4.54393 6 0 9 -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#details">Details</a></li> - <li><a href="#see-also">See also</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Add target counts — add_target_counts • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Add target counts — add_target_counts" /> +<meta property="og:description" content="Count spacer matches among targets" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Add target counts</h1> + + <div class="hidden name"><code>add_target_counts.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Count spacer matches among targets</p> + </div> + + <pre class="usage"><span class='fu'>add_target_counts</span>( + <span class='no'>spacers</span>, + <span class='no'>targets</span>, + <span class='no'>bsgenome</span>, + <span class='kw'>mismatches</span> <span class='kw'>=</span> <span class='fl'>2</span>, + <span class='kw'>pam</span> <span class='kw'>=</span> <span class='st'>"NGG"</span>, + <span class='kw'>outdir</span> <span class='kw'>=</span> <span class='no'>OUTDIR</span>, + <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span> +)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>spacers</th> + <td><p>spacer <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> + </tr> + <tr> + <th>targets</th> + <td><p>target <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> + </tr> + <tr> + <th>bsgenome</th> + <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> + </tr> + <tr> + <th>mismatches</th> + <td><p>number (default 2): max number of mismatches to consider</p></td> + </tr> + <tr> + <th>pam</th> + <td><p>string (default 'NGG') pam pattern to expand</p></td> + </tr> + <tr> + <th>outdir</th> + <td><p>dir where output is written to</p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>TRUE (default) or FALSE</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>updated spacer <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> + <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2> + + <p>Expands iupac amgiguities in the pam sequence. +Matches all resulting sequences against (indexes) target and genome. +Adds match counts to GRanges object, and then returns it.</p> + <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2> + + <div class='dont-index'><p><code><a href='index_genome.html'>index_genome</a></code>, <code><a href='index_targets.html'>index_targets</a></code></p></div> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='co'># TFBS example</span> +<span class='co'>#-------------</span> + <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> + <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) + <span class='no'>targets</span> <span class='kw'><-</span> <span class='fu'><a href='up_flank.html'>extend</a></span>(<span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='kw'>genome</span> <span class='kw'>=</span> <span class='st'>'mm10'</span>))</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='add_target_counts-1.png' alt='' width='700' height='433' /></div><div class='input'> <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_spacers.html'>find_spacers</a></span>(<span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='img'><img src='add_target_counts-2.png' alt='' width='700' height='433' /></div><div class='input'> <span class='fu'>add_target_counts</span>(<span class='no'>spacers</span>, <span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Index target sequences</span></div><div class='output co'>#> <span class='message'> 1974 target ranges</span></div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='output co'>#> <span class='message'> 3932 ranges after merging overlaps</span></div><div class='output co'>#> <span class='message'> Write seqs to ~/multicrisprout/targets/targets.fa</span></div><div class='output co'>#> <span class='message'> Write index to ~/multicrisprout/targets/targets</span></div><div class='output co'>#> <span class='message'> Add target counts</span></div><div class='output co'>#> <span class='message'> Expand iupac ambiguities in pam</span></div><div class='output co'>#> <span class='message'> Write reads to ~/multicrisprout/spacers.fa</span></div><div class='output co'>#> <span class='message'> Map reads: ~/multicrisprout/spacers/spacers_to_targets.txt</span></div><div class='output co'>#> <span class='message'> Load results</span></div><div class='output co'>#> <span class='message'> Count matches</span></div><div class='output co'>#> GRanges object with 10159 ranges and 11 metadata columns: +#> seqnames ranges strand | targetname targetstart +#> <Rle> <IRanges> <Rle> | <character> <integer> +#> T0001_r_5 chr1 4712619-4712638 - | T0001 4712628 +#> T0001_r_4 chr1 4712620-4712639 - | T0001 4712628 +#> T0001_r_3 chr1 4712627-4712646 - | T0001 4712628 +#> T0001_r_2 chr1 4712633-4712652 - | T0001 4712628 +#> T0001_r_1 chr1 4712634-4712653 - | T0001 4712628 +#> ... ... ... ... . ... ... +#> T1974_r_3 chrY 89126492-89126511 - | T1974 89126494 +#> T1974_f_3 chrY 89126496-89126515 + | T1974 89126494 +#> T1974_r_2 chrY 89126499-89126518 - | T1974 89126494 +#> T1974_r_1 chrY 89126500-89126519 - | T1974 89126494 +#> T1974_f_4 chrY 89126501-89126520 + | T1974 89126494 +#> targetend crisprname crisprspacer crisprpam name +#> <integer> <character> <character> <character> <character> +#> T0001_r_5 4712643 T0001_r_5 ATATAAGGGCATTGGAAGAA GGG SRF_MA0083.3 +#> T0001_r_4 4712643 T0001_r_4 AATATAAGGGCATTGGAAGA AGG SRF_MA0083.3 +#> T0001_r_3 4712643 T0001_r_3 TGGAGACAATATAAGGGCAT TGG SRF_MA0083.3 +#> T0001_r_2 4712643 T0001_r_2 TTCTGCTGGAGACAATATAA GGG SRF_MA0083.3 +#> T0001_r_1 4712643 T0001_r_1 CTTCTGCTGGAGACAATATA AGG SRF_MA0083.3 +#> ... ... ... ... ... ... +#> T1974_r_3 89126509 T1974_r_3 TTTGCCCATACTAGGGAGAG CGG SRF_MA0083.3 +#> T1974_f_3 89126509 T1974_f_3 CCCTAGTATGGGCAAATATA TGG SRF_MA0083.3 +#> T1974_r_2 89126509 T1974_r_2 CCATATATTTGCCCATACTA GGG SRF_MA0083.3 +#> T1974_r_1 89126509 T1974_r_1 TCCATATATTTGCCCATACT AGG SRF_MA0083.3 +#> T1974_f_4 89126509 T1974_f_4 GTATGGGCAAATATATGGAA TGG SRF_MA0083.3 +#> score T0 T1 T2 +#> <numeric> <integer> <integer> <integer> +#> T0001_r_5 10.49542 1 973 97 +#> T0001_r_4 10.49542 1 960 105 +#> T0001_r_3 10.49542 1 975 95 +#> T0001_r_2 10.49542 2 827 237 +#> T0001_r_1 10.49542 825 242 19 +#> ... ... ... ... ... +#> T1974_r_3 4.54393 5 3 7 +#> T1974_f_3 4.54393 5 1 9 +#> T1974_r_2 4.54393 5 1 9 +#> T1974_r_1 4.54393 6 0 9 +#> T1974_f_4 4.54393 6 0 9 +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#details">Details</a></li> + <li><a href="#see-also">See also</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/as.granges.html b/public/reference/as.granges.html index 71365796f54bf12fc781b9ede5f40fd68b250ba2..da26c5e5046947c51673f4aefd4e9a78b047f96b 100644 --- a/public/reference/as.granges.html +++ b/public/reference/as.granges.html @@ -1,201 +1,201 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Convert data.table into GenomicRanges::GRanges — as.granges • multicrispr</title> - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - -<meta property="og:title" content="Convert data.table into GenomicRanges::GRanges — as.granges" /> - -<meta property="og:description" content="Convert data.table into GenomicRanges::GRanges" /> -<meta name="twitter:card" content="summary" /> - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/using_multicrispr.html">Using multicrispr</a> - </li> - </ul> -</li> - </ul> - - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Convert data.table into GenomicRanges::GRanges</h1> - - <div class="hidden name"><code>as.granges.Rd</code></div> - </div> - - <div class="ref-description"> - - <p>Convert data.table into GenomicRanges::GRanges</p> - - </div> - - <pre class="usage"><span class='fu'>as.granges</span>(<span class='no'>x</span>, <span class='no'>bsgenome</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>x</th> - <td><p>data.table</p></td> - </tr> - <tr> - <th>bsgenome</th> - <td><p>BSgenome, e.g. BSgenome.Mmusculus.UCSC.mm10::Mmusculus</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>GenomicRanges::GRanges</p> - - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>)</div><div class='output co'>#> <span class='message'>Lade nötiges Paket: magrittr</span></div><div class='output co'>#> <span class='message'></span> -#> <span class='message'>Attache Paket: 'magrittr'</span></div><div class='output co'>#> <span class='message'>The following objects are masked from 'package:testthat':</span> -#> <span class='message'></span> -#> <span class='message'> equals, is_less_than, not</span></div><div class='input'><span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) -<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> -<span class='no'>granges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='input'><span class='no'>granges</span>$<span class='no'>seqs</span> <span class='kw'><-</span> <span class='fu'><a href='seqs.html'>seqs</a></span>(<span class='no'>granges</span>) -<span class='no'>x</span> <span class='kw'><-</span> <span class='no'>granges</span> <span class='kw'>%>%</span> <span class='kw pkg'>data.table</span><span class='kw ns'>::</span><span class='fu'><a href='https://rdrr.io/pkg/data.table/man/as.data.table.html'>as.data.table</a></span>() -<span class='no'>x</span> <span class='kw'>%>%</span> <span class='fu'>as.granges</span>(<span class='kw'>bsgenome</span> <span class='kw'>=</span> <span class='no'>bsgenome</span>)</div><div class='output co'>#> GRanges object with 1974 ranges and 1 metadata column: -#> seqnames ranges strand | seqs -#> <Rle> <IRanges> <Rle> | <character> -#> [1] chr1 4712627-4712643 - | AGACAATATAAGGGCAT -#> [2] chr1 5250211-5250227 - | AGACAATATAAGGACAT -#> [3] chr1 5250451-5250467 - | TGACAATATTTGGAATG -#> [4] chr1 5256192-5256208 - | AGACAATATAAGGACAT -#> [5] chr1 5985727-5985743 - | CCACCAAATATGGGCTT -#> ... ... ... ... . ... -#> [1970] chrY 6770311-6770327 + | GAGACAATATAAGGACA -#> [1971] chrY 23130567-23130583 + | GAGACAATATAAGGACA -#> [1972] chrY 42512399-42512415 - | TGGCCAAATATGTGGAA -#> [1973] chrY 79048175-79048191 - | AGACAATATAAGGACAT -#> [1974] chrY 89126493-89126509 - | TGCCCATACTAGGGAGA -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - - <li><a href="#value">Value</a></li> - - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Convert data.table into GenomicRanges::GRanges — as.granges • multicrispr</title> + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + +<meta property="og:title" content="Convert data.table into GenomicRanges::GRanges — as.granges" /> + +<meta property="og:description" content="Convert data.table into GenomicRanges::GRanges" /> +<meta name="twitter:card" content="summary" /> + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/using_multicrispr.html">Using multicrispr</a> + </li> + </ul> +</li> + </ul> + + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Convert data.table into GenomicRanges::GRanges</h1> + + <div class="hidden name"><code>as.granges.Rd</code></div> + </div> + + <div class="ref-description"> + + <p>Convert data.table into GenomicRanges::GRanges</p> + + </div> + + <pre class="usage"><span class='fu'>as.granges</span>(<span class='no'>x</span>, <span class='no'>bsgenome</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>x</th> + <td><p>data.table</p></td> + </tr> + <tr> + <th>bsgenome</th> + <td><p>BSgenome, e.g. BSgenome.Mmusculus.UCSC.mm10::Mmusculus</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>GenomicRanges::GRanges</p> + + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>)</div><div class='output co'>#> <span class='message'>Lade nötiges Paket: magrittr</span></div><div class='output co'>#> <span class='message'></span> +#> <span class='message'>Attache Paket: 'magrittr'</span></div><div class='output co'>#> <span class='message'>The following objects are masked from 'package:testthat':</span> +#> <span class='message'></span> +#> <span class='message'> equals, is_less_than, not</span></div><div class='input'><span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) +<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> +<span class='no'>granges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='input'><span class='no'>granges</span>$<span class='no'>seqs</span> <span class='kw'><-</span> <span class='fu'><a href='seqs.html'>seqs</a></span>(<span class='no'>granges</span>) +<span class='no'>x</span> <span class='kw'><-</span> <span class='no'>granges</span> <span class='kw'>%>%</span> <span class='kw pkg'>data.table</span><span class='kw ns'>::</span><span class='fu'><a href='https://rdrr.io/pkg/data.table/man/as.data.table.html'>as.data.table</a></span>() +<span class='no'>x</span> <span class='kw'>%>%</span> <span class='fu'>as.granges</span>(<span class='kw'>bsgenome</span> <span class='kw'>=</span> <span class='no'>bsgenome</span>)</div><div class='output co'>#> GRanges object with 1974 ranges and 1 metadata column: +#> seqnames ranges strand | seqs +#> <Rle> <IRanges> <Rle> | <character> +#> [1] chr1 4712627-4712643 - | AGACAATATAAGGGCAT +#> [2] chr1 5250211-5250227 - | AGACAATATAAGGACAT +#> [3] chr1 5250451-5250467 - | TGACAATATTTGGAATG +#> [4] chr1 5256192-5256208 - | AGACAATATAAGGACAT +#> [5] chr1 5985727-5985743 - | CCACCAAATATGGGCTT +#> ... ... ... ... . ... +#> [1970] chrY 6770311-6770327 + | GAGACAATATAAGGACA +#> [1971] chrY 23130567-23130583 + | GAGACAATATAAGGACA +#> [1972] chrY 42512399-42512415 - | TGGCCAAATATGTGGAA +#> [1973] chrY 79048175-79048191 - | AGACAATATAAGGACAT +#> [1974] chrY 89126493-89126509 - | TGCCCATACTAGGGAGA +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + + <li><a href="#value">Value</a></li> + + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/assert_is_granges_datatable.html b/public/reference/assert_is_granges_datatable.html index 8d21cc01b6de0700f8ce599cb9c1c66a2aa4876b..aacee76d7d8e06109cd62a62f7a046ccd9748cb7 100644 --- a/public/reference/assert_is_granges_datatable.html +++ b/public/reference/assert_is_granges_datatable.html @@ -1,182 +1,182 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Assert that object is a genomic ranges datatable — assert_is_granges_datatable • multicrispr</title> - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - -<meta property="og:title" content="Assert that object is a genomic ranges datatable — assert_is_granges_datatable" /> - -<meta property="og:description" content="Assert that object is a genomic ranges datatable" /> -<meta name="twitter:card" content="summary" /> - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/using_multicrispr.html">Using multicrispr</a> - </li> - </ul> -</li> - </ul> - - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Assert that object is a genomic ranges datatable</h1> - - <div class="hidden name"><code>assert_is_granges_datatable.Rd</code></div> - </div> - - <div class="ref-description"> - - <p>Assert that object is a genomic ranges datatable</p> - - </div> - - <pre class="usage"><span class='fu'>assert_is_granges_datatable</span>(<span class='no'>x</span>, <span class='no'>bsgenome</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>x</th> - <td><p>data.table</p></td> - </tr> - <tr> - <th>bsgenome</th> - <td><p>BSgenome, e.g. BSgenome.Mmusculus.UCSC.mm10::Mmusculus</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>invisible(x)</p> - - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) -<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) -<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> -<span class='no'>x</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>) <span class='kw'>%>%</span> <span class='kw pkg'>data.table</span><span class='kw ns'>::</span><span class='fu'><a href='https://rdrr.io/pkg/data.table/man/as.data.table.html'>as.data.table</a></span>()</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='input'><span class='fu'>assert_is_granges_datatable</span>(<span class='no'>x</span>, <span class='no'>bsgenome</span>)</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - - <li><a href="#value">Value</a></li> - - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Assert that object is a genomic ranges datatable — assert_is_granges_datatable • multicrispr</title> + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + +<meta property="og:title" content="Assert that object is a genomic ranges datatable — assert_is_granges_datatable" /> + +<meta property="og:description" content="Assert that object is a genomic ranges datatable" /> +<meta name="twitter:card" content="summary" /> + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/using_multicrispr.html">Using multicrispr</a> + </li> + </ul> +</li> + </ul> + + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Assert that object is a genomic ranges datatable</h1> + + <div class="hidden name"><code>assert_is_granges_datatable.Rd</code></div> + </div> + + <div class="ref-description"> + + <p>Assert that object is a genomic ranges datatable</p> + + </div> + + <pre class="usage"><span class='fu'>assert_is_granges_datatable</span>(<span class='no'>x</span>, <span class='no'>bsgenome</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>x</th> + <td><p>data.table</p></td> + </tr> + <tr> + <th>bsgenome</th> + <td><p>BSgenome, e.g. BSgenome.Mmusculus.UCSC.mm10::Mmusculus</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>invisible(x)</p> + + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) +<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) +<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> +<span class='no'>x</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>) <span class='kw'>%>%</span> <span class='kw pkg'>data.table</span><span class='kw ns'>::</span><span class='fu'><a href='https://rdrr.io/pkg/data.table/man/as.data.table.html'>as.data.table</a></span>()</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='input'><span class='fu'>assert_is_granges_datatable</span>(<span class='no'>x</span>, <span class='no'>bsgenome</span>)</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + + <li><a href="#value">Value</a></li> + + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/bed_to_granges-1.png b/public/reference/bed_to_granges-1.png index 2fa9dd21011d9aa61c2a5d26172ac121a09e78f3..f7ac80ffc8c47fd48735082a7978c4c3f9ab887a 100644 Binary files a/public/reference/bed_to_granges-1.png and b/public/reference/bed_to_granges-1.png differ diff --git a/public/reference/bed_to_granges.html b/public/reference/bed_to_granges.html index 8d70f63b8c4424fb89a3f0dfe22ef914ea1fe106..1d5bf8acffc65b227142e39c2051ef9d82a6d49e 100644 --- a/public/reference/bed_to_granges.html +++ b/public/reference/bed_to_granges.html @@ -1,234 +1,234 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Read bedfile into GRanges — bed_to_granges • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Read bedfile into GRanges — bed_to_granges" /> -<meta property="og:description" content="Read bedfile into GRanges" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Read bedfile into GRanges</h1> - - <div class="hidden name"><code>bed_to_granges.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Read bedfile into GRanges</p> - </div> - - <pre class="usage"><span class='fu'>bed_to_granges</span>( - <span class='no'>bedfile</span>, - <span class='no'>genome</span>, - <span class='kw'>txdb</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, - <span class='kw'>do_order</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, - <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, - <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span> -)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>bedfile</th> - <td><p>file path</p></td> - </tr> - <tr> - <th>genome</th> - <td><p>string: UCSC genome name (e.g. 'mm10')</p></td> - </tr> - <tr> - <th>txdb</th> - <td><p>NULL (default) or <code><a href='https://rdrr.io/pkg/GenomicFeatures/man/TxDb-class.html'>TxDb-class</a></code> -(used for gene annotation)</p></td> - </tr> - <tr> - <th>do_order</th> - <td><p>TRUE (default) or FALSE: order on seqnames and star?</p></td> - </tr> - <tr> - <th>plot</th> - <td><p>TRUE (default) or FALSE: plot karyogram?</p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>TRUE (default) or FALSE</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> - <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2> - - <div class='dont-index'><p><code><a href='char_to_granges.html'>char_to_granges</a></code>, <code><a href='genes_to_granges.html'>genes_to_granges</a></code></p></div> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) -<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> -(<span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'>bed_to_granges</span>(<span class='no'>bedfile</span>, <span class='kw'>genome</span><span class='kw'>=</span><span class='st'>'mm10'</span>))</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='bed_to_granges-1.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 1974 ranges and 5 metadata columns: -#> seqnames ranges strand | name score targetname -#> <Rle> <IRanges> <Rle> | <character> <numeric> <character> -#> T0001 chr1 4712628-4712643 - | SRF_MA0083.3 10.49542 T0001 -#> T0002 chr1 5250212-5250227 - | SRF_MA0083.3 9.7378 T0002 -#> T0003 chr1 5250452-5250467 - | SRF_MA0083.3 5.92033 T0003 -#> T0004 chr1 5256193-5256208 - | SRF_MA0083.3 9.7378 T0004 -#> T0005 chr1 5985728-5985743 - | SRF_MA0083.3 9.44821 T0005 -#> ... ... ... ... . ... ... ... -#> T1970 chrY 6770312-6770327 + | SRF_MA0083.3 9.7378 T1970 -#> T1971 chrY 23130568-23130583 + | SRF_MA0083.3 9.7378 T1971 -#> T1972 chrY 42512400-42512415 - | SRF_MA0083.3 6.59053 T1972 -#> T1973 chrY 79048176-79048191 - | SRF_MA0083.3 9.7378 T1973 -#> T1974 chrY 89126494-89126509 - | SRF_MA0083.3 4.54393 T1974 -#> targetstart targetend -#> <integer> <integer> -#> T0001 4712628 4712643 -#> T0002 5250212 5250227 -#> T0003 5250452 5250467 -#> T0004 5256193 5256208 -#> T0005 5985728 5985743 -#> ... ... ... -#> T1970 6770312 6770327 -#> T1971 23130568 23130583 -#> T1972 42512400 42512415 -#> T1973 79048176 79048191 -#> T1974 89126494 89126509 -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#see-also">See also</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Read bedfile into GRanges — bed_to_granges • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Read bedfile into GRanges — bed_to_granges" /> +<meta property="og:description" content="Read bedfile into GRanges" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Read bedfile into GRanges</h1> + + <div class="hidden name"><code>bed_to_granges.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Read bedfile into GRanges</p> + </div> + + <pre class="usage"><span class='fu'>bed_to_granges</span>( + <span class='no'>bedfile</span>, + <span class='no'>genome</span>, + <span class='kw'>txdb</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, + <span class='kw'>do_order</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, + <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, + <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span> +)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>bedfile</th> + <td><p>file path</p></td> + </tr> + <tr> + <th>genome</th> + <td><p>string: UCSC genome name (e.g. 'mm10')</p></td> + </tr> + <tr> + <th>txdb</th> + <td><p>NULL (default) or <code><a href='https://rdrr.io/pkg/GenomicFeatures/man/TxDb-class.html'>TxDb-class</a></code> +(used for gene annotation)</p></td> + </tr> + <tr> + <th>do_order</th> + <td><p>TRUE (default) or FALSE: order on seqnames and star?</p></td> + </tr> + <tr> + <th>plot</th> + <td><p>TRUE (default) or FALSE: plot karyogram?</p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>TRUE (default) or FALSE</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> + <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2> + + <div class='dont-index'><p><code><a href='char_to_granges.html'>char_to_granges</a></code>, <code><a href='genes_to_granges.html'>genes_to_granges</a></code></p></div> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) +<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> +(<span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'>bed_to_granges</span>(<span class='no'>bedfile</span>, <span class='kw'>genome</span><span class='kw'>=</span><span class='st'>'mm10'</span>))</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='bed_to_granges-1.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 1974 ranges and 5 metadata columns: +#> seqnames ranges strand | name score targetname +#> <Rle> <IRanges> <Rle> | <character> <numeric> <character> +#> T0001 chr1 4712628-4712643 - | SRF_MA0083.3 10.49542 T0001 +#> T0002 chr1 5250212-5250227 - | SRF_MA0083.3 9.7378 T0002 +#> T0003 chr1 5250452-5250467 - | SRF_MA0083.3 5.92033 T0003 +#> T0004 chr1 5256193-5256208 - | SRF_MA0083.3 9.7378 T0004 +#> T0005 chr1 5985728-5985743 - | SRF_MA0083.3 9.44821 T0005 +#> ... ... ... ... . ... ... ... +#> T1970 chrY 6770312-6770327 + | SRF_MA0083.3 9.7378 T1970 +#> T1971 chrY 23130568-23130583 + | SRF_MA0083.3 9.7378 T1971 +#> T1972 chrY 42512400-42512415 - | SRF_MA0083.3 6.59053 T1972 +#> T1973 chrY 79048176-79048191 - | SRF_MA0083.3 9.7378 T1973 +#> T1974 chrY 89126494-89126509 - | SRF_MA0083.3 4.54393 T1974 +#> targetstart targetend +#> <integer> <integer> +#> T0001 4712628 4712643 +#> T0002 5250212 5250227 +#> T0003 5250452 5250467 +#> T0004 5256193 5256208 +#> T0005 5985728 5985743 +#> ... ... ... +#> T1970 6770312 6770327 +#> T1971 23130568 23130583 +#> T1972 42512400 42512415 +#> T1973 79048176 79048191 +#> T1974 89126494 89126509 +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#see-also">See also</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/char_to_granges-1.png b/public/reference/char_to_granges-1.png index f0fa34196c666b3704b159254a7888d4b813190c..54d41d9dd4bf2b124e614623b2583164b4abc29d 100644 Binary files a/public/reference/char_to_granges-1.png and b/public/reference/char_to_granges-1.png differ diff --git a/public/reference/char_to_granges.html b/public/reference/char_to_granges.html index 8ec18a8ba2c694ed0466263bcbb8c7a9d6e55184..2374a2395f61ab3d44c76087659884323d6bf766 100644 --- a/public/reference/char_to_granges.html +++ b/public/reference/char_to_granges.html @@ -1,187 +1,187 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Convert character vector into GRanges — char_to_granges • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Convert character vector into GRanges — char_to_granges" /> -<meta property="og:description" content="Convert character vector into GRanges" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Convert character vector into GRanges</h1> - - <div class="hidden name"><code>char_to_granges.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Convert character vector into GRanges</p> - </div> - - <pre class="usage"><span class='fu'>char_to_granges</span>(<span class='no'>x</span>, <span class='no'>bsgenome</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>x</th> - <td><p>character vector</p></td> - </tr> - <tr> - <th>bsgenome</th> - <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> - <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2> - - <div class='dont-index'><p><code><a href='bed_to_granges.html'>bed_to_granges</a></code>, <code><a href='genes_to_granges.html'>genes_to_granges</a></code></p></div> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) -<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> -<span class='no'>x</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> - <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> - <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> - <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>) <span class='co'># ins</span> -<span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'>char_to_granges</span>(<span class='no'>x</span>, <span class='no'>bsgenome</span>) -<span class='fu'><a href='plot_intervals.html'>plot_intervals</a></span>(<span class='no'>gr</span>, <span class='kw'>facet_var</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='st'>'targetname'</span>, <span class='st'>'seqnames'</span>))</div><div class='img'><img src='char_to_granges-1.png' alt='' width='700' height='433' /></div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#see-also">See also</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Convert character vector into GRanges — char_to_granges • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Convert character vector into GRanges — char_to_granges" /> +<meta property="og:description" content="Convert character vector into GRanges" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Convert character vector into GRanges</h1> + + <div class="hidden name"><code>char_to_granges.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Convert character vector into GRanges</p> + </div> + + <pre class="usage"><span class='fu'>char_to_granges</span>(<span class='no'>x</span>, <span class='no'>bsgenome</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>x</th> + <td><p>character vector</p></td> + </tr> + <tr> + <th>bsgenome</th> + <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> + <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2> + + <div class='dont-index'><p><code><a href='bed_to_granges.html'>bed_to_granges</a></code>, <code><a href='genes_to_granges.html'>genes_to_granges</a></code></p></div> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) +<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> +<span class='no'>x</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> + <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> + <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> + <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>) <span class='co'># ins</span> +<span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'>char_to_granges</span>(<span class='no'>x</span>, <span class='no'>bsgenome</span>) +<span class='fu'><a href='plot_intervals.html'>plot_intervals</a></span>(<span class='no'>gr</span>, <span class='kw'>facet_var</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='st'>'targetname'</span>, <span class='st'>'seqnames'</span>))</div><div class='img'><img src='char_to_granges-1.png' alt='' width='700' height='433' /></div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#see-also">See also</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/cmessage.html b/public/reference/cmessage.html index 1dd60db6fbc5d633910e9989a35844ad1f99c9ab..6303bdfc067f6a3bbb09564e4b69389a08804a0c 100644 --- a/public/reference/cmessage.html +++ b/public/reference/cmessage.html @@ -1,165 +1,165 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Message with sprintf syntax — cmessage • multicrispr</title> - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - -<meta property="og:title" content="Message with sprintf syntax — cmessage" /> - -<meta property="og:description" content="Message with sprintf syntax" /> -<meta name="twitter:card" content="summary" /> - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/using_multicrispr.html">Using multicrispr</a> - </li> - </ul> -</li> - </ul> - - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Message with sprintf syntax</h1> - - <div class="hidden name"><code>cmessage.Rd</code></div> - </div> - - <div class="ref-description"> - - <p>Message with sprintf syntax</p> - - </div> - - <pre class="usage"><span class='fu'>cmessage</span>(<span class='no'>...</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>...</th> - <td><p>passed to message(sprintf(...))</p></td> - </tr> - </table> - - - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Message with sprintf syntax — cmessage • multicrispr</title> + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + +<meta property="og:title" content="Message with sprintf syntax — cmessage" /> + +<meta property="og:description" content="Message with sprintf syntax" /> +<meta name="twitter:card" content="summary" /> + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/using_multicrispr.html">Using multicrispr</a> + </li> + </ul> +</li> + </ul> + + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Message with sprintf syntax</h1> + + <div class="hidden name"><code>cmessage.Rd</code></div> + </div> + + <div class="ref-description"> + + <p>Message with sprintf syntax</p> + + </div> + + <pre class="usage"><span class='fu'>cmessage</span>(<span class='no'>...</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>...</th> + <td><p>passed to message(sprintf(...))</p></td> + </tr> + </table> + + + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/complement.html b/public/reference/complement.html index 9c65be5c9bef19737eb2c392e3beeaa9443f56ed..a49deb4a7d30826e28c4d8dd3e5616b15208512e 100644 --- a/public/reference/complement.html +++ b/public/reference/complement.html @@ -1,211 +1,211 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Complement granges — complement • multicrispr</title> - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - -<meta property="og:title" content="Complement granges — complement" /> - -<meta property="og:description" content="Complement granges" /> -<meta name="twitter:card" content="summary" /> - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/using_multicrispr.html">Using multicrispr</a> - </li> - </ul> -</li> - </ul> - - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Complement granges</h1> - - <div class="hidden name"><code>complement.Rd</code></div> - </div> - - <div class="ref-description"> - - <p>Complement granges</p> - - </div> - - <pre class="usage"><span class='fu'>complement</span>(<span class='no'>granges</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>granges</th> - <td><p>GenomicRanges::GRanges</p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>logical(1)</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>GenomicRanges::GRanges</p> - - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) -<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> -<span class='no'>granges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='input'><span class='no'>granges</span></div><div class='output co'>#> GRanges object with 1974 ranges and 0 metadata columns: -#> seqnames ranges strand -#> <Rle> <IRanges> <Rle> -#> [1] chr1 4712627-4712643 - -#> [2] chr1 5250211-5250227 - -#> [3] chr1 5250451-5250467 - -#> [4] chr1 5256192-5256208 - -#> [5] chr1 5985727-5985743 - -#> ... ... ... ... -#> [1970] chrY 6770311-6770327 + -#> [1971] chrY 23130567-23130583 + -#> [1972] chrY 42512399-42512415 - -#> [1973] chrY 79048175-79048191 - -#> [1974] chrY 89126493-89126509 - -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div><div class='input'><span class='fu'>complement</span>(<span class='no'>granges</span>)</div><div class='output co'>#> <span class='message'> 1974 strand-complementary granges</span></div><div class='output co'>#> GRanges object with 1974 ranges and 0 metadata columns: -#> seqnames ranges strand -#> <Rle> <IRanges> <Rle> -#> [1] chr1 4712627-4712643 + -#> [2] chr1 5250211-5250227 + -#> [3] chr1 5250451-5250467 + -#> [4] chr1 5256192-5256208 + -#> [5] chr1 5985727-5985743 + -#> ... ... ... ... -#> [1970] chrY 6770311-6770327 - -#> [1971] chrY 23130567-23130583 - -#> [1972] chrY 42512399-42512415 + -#> [1973] chrY 79048175-79048191 + -#> [1974] chrY 89126493-89126509 + -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - - <li><a href="#value">Value</a></li> - - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Complement granges — complement • multicrispr</title> + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + +<meta property="og:title" content="Complement granges — complement" /> + +<meta property="og:description" content="Complement granges" /> +<meta name="twitter:card" content="summary" /> + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/using_multicrispr.html">Using multicrispr</a> + </li> + </ul> +</li> + </ul> + + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Complement granges</h1> + + <div class="hidden name"><code>complement.Rd</code></div> + </div> + + <div class="ref-description"> + + <p>Complement granges</p> + + </div> + + <pre class="usage"><span class='fu'>complement</span>(<span class='no'>granges</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>granges</th> + <td><p>GenomicRanges::GRanges</p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>logical(1)</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>GenomicRanges::GRanges</p> + + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) +<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> +<span class='no'>granges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='input'><span class='no'>granges</span></div><div class='output co'>#> GRanges object with 1974 ranges and 0 metadata columns: +#> seqnames ranges strand +#> <Rle> <IRanges> <Rle> +#> [1] chr1 4712627-4712643 - +#> [2] chr1 5250211-5250227 - +#> [3] chr1 5250451-5250467 - +#> [4] chr1 5256192-5256208 - +#> [5] chr1 5985727-5985743 - +#> ... ... ... ... +#> [1970] chrY 6770311-6770327 + +#> [1971] chrY 23130567-23130583 + +#> [1972] chrY 42512399-42512415 - +#> [1973] chrY 79048175-79048191 - +#> [1974] chrY 89126493-89126509 - +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div><div class='input'><span class='fu'>complement</span>(<span class='no'>granges</span>)</div><div class='output co'>#> <span class='message'> 1974 strand-complementary granges</span></div><div class='output co'>#> GRanges object with 1974 ranges and 0 metadata columns: +#> seqnames ranges strand +#> <Rle> <IRanges> <Rle> +#> [1] chr1 4712627-4712643 + +#> [2] chr1 5250211-5250227 + +#> [3] chr1 5250451-5250467 + +#> [4] chr1 5256192-5256208 + +#> [5] chr1 5985727-5985743 + +#> ... ... ... ... +#> [1970] chrY 6770311-6770327 - +#> [1971] chrY 23130567-23130583 - +#> [1972] chrY 42512399-42512415 + +#> [1973] chrY 79048175-79048191 + +#> [1974] chrY 89126493-89126509 + +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + + <li><a href="#value">Value</a></li> + + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/contextseqs.html b/public/reference/contextseqs.html index 8c2e33b13330bfabe5137669d2364937d1ea0e85..f82655f4c9aa0f63cd3dca9602d815b228f8ef5c 100644 --- a/public/reference/contextseqs.html +++ b/public/reference/contextseqs.html @@ -1,176 +1,176 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Get contextseqs — contextseqs • multicrispr</title> - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - -<meta property="og:title" content="Get contextseqs — contextseqs" /> - -<meta property="og:description" content="Get [-3, +3] contextseqs for given cas9ranges" /> -<meta name="twitter:card" content="summary" /> - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/using_multicrispr.html">Using multicrispr</a> - </li> - </ul> -</li> - </ul> - - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Get contextseqs</h1> - - <div class="hidden name"><code>contextseqs.Rd</code></div> - </div> - - <div class="ref-description"> - - <p>Get [-3, +3] contextseqs for given cas9ranges</p> - - </div> - - <pre class="usage"><span class='fu'>contextseqs</span>(<span class='no'>cas9ranges</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>cas9ranges</th> - <td><p>GenomicRanges::GRanges</p></td> - </tr> - </table> - - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) -<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) -<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> -<span class='no'>cas9ranges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>) <span class='kw'>%>%</span> - <span class='fu'><a href='flank_fourways.html'>flank_fourways</a></span>() <span class='kw'>%>%</span> - <span class='fu'><a href='find_cas9ranges.html'>find_cas9ranges</a></span>()</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='output co'>#> <span class='message'> Flank fourways</span></div><div class='output co'>#> <span class='message'> 1974 left flanks : [start-200, start-1]</span></div><div class='output co'>#> <span class='message'> 1974 right flanks : [end+1, end+200]</span></div><div class='output co'>#> <span class='message'> 3948 combined (left + right)</span></div><div class='output co'>#> <span class='message'> 7896 after adding strand-complements</span></div><div class='output co'>#> <span class='message'> 7306 after merging overlaps</span></div><div class='output co'>#> <span class='message'> Find N{20}NGG cas9seqs</span></div><div class='output co'>#> <span class='message'> Rm 10 targetranges with no cas9sites</span></div><div class='output co'>#> <span class='message'> 9922 cas9 seqs across 33518 targetranges</span></div><div class='input'><span class='no'>cas9ranges</span>[<span class='fl'>1</span>:<span class='fl'>3</span>] <span class='kw'>%>%</span> <span class='fu'><a href='seqs.html'>seqs</a></span>()</div><div class='output co'>#> [1] "CTCTAGAGTCACAGAACTTATGG" "AATTTATTATGACTTACAGTCGG" -#> [3] "TTCAGTTGCAGCTGTGAAAATGG"</div><div class='input'><span class='no'>cas9ranges</span>[<span class='fl'>1</span>:<span class='fl'>3</span>] <span class='kw'>%>%</span> <span class='fu'>contextseqs</span>()</div><div class='output co'>#> [1] "GGTTCTCTAGAGTCACAGAACTTATGGACA" "AAGGAATTTATTATGACTTACAGTCGGCAG" -#> [3] "ATTGTTCAGTTGCAGCTGTGAAAATGGAAG"</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Get contextseqs — contextseqs • multicrispr</title> + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + +<meta property="og:title" content="Get contextseqs — contextseqs" /> + +<meta property="og:description" content="Get [-3, +3] contextseqs for given cas9ranges" /> +<meta name="twitter:card" content="summary" /> + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/using_multicrispr.html">Using multicrispr</a> + </li> + </ul> +</li> + </ul> + + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Get contextseqs</h1> + + <div class="hidden name"><code>contextseqs.Rd</code></div> + </div> + + <div class="ref-description"> + + <p>Get [-3, +3] contextseqs for given cas9ranges</p> + + </div> + + <pre class="usage"><span class='fu'>contextseqs</span>(<span class='no'>cas9ranges</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>cas9ranges</th> + <td><p>GenomicRanges::GRanges</p></td> + </tr> + </table> + + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) +<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) +<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> +<span class='no'>cas9ranges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>) <span class='kw'>%>%</span> + <span class='fu'><a href='flank_fourways.html'>flank_fourways</a></span>() <span class='kw'>%>%</span> + <span class='fu'><a href='find_cas9ranges.html'>find_cas9ranges</a></span>()</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='output co'>#> <span class='message'> Flank fourways</span></div><div class='output co'>#> <span class='message'> 1974 left flanks : [start-200, start-1]</span></div><div class='output co'>#> <span class='message'> 1974 right flanks : [end+1, end+200]</span></div><div class='output co'>#> <span class='message'> 3948 combined (left + right)</span></div><div class='output co'>#> <span class='message'> 7896 after adding strand-complements</span></div><div class='output co'>#> <span class='message'> 7306 after merging overlaps</span></div><div class='output co'>#> <span class='message'> Find N{20}NGG cas9seqs</span></div><div class='output co'>#> <span class='message'> Rm 10 targetranges with no cas9sites</span></div><div class='output co'>#> <span class='message'> 9922 cas9 seqs across 33518 targetranges</span></div><div class='input'><span class='no'>cas9ranges</span>[<span class='fl'>1</span>:<span class='fl'>3</span>] <span class='kw'>%>%</span> <span class='fu'><a href='seqs.html'>seqs</a></span>()</div><div class='output co'>#> [1] "CTCTAGAGTCACAGAACTTATGG" "AATTTATTATGACTTACAGTCGG" +#> [3] "TTCAGTTGCAGCTGTGAAAATGG"</div><div class='input'><span class='no'>cas9ranges</span>[<span class='fl'>1</span>:<span class='fl'>3</span>] <span class='kw'>%>%</span> <span class='fu'>contextseqs</span>()</div><div class='output co'>#> [1] "GGTTCTCTAGAGTCACAGAACTTATGGACA" "AAGGAATTTATTATGACTTACAGTCGGCAG" +#> [3] "ATTGTTCAGTTGCAGCTGTGAAAATGGAAG"</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/double_flank-1.png b/public/reference/double_flank-1.png index f5ef104f139d5e37eefb3415403344d4bf9e2825..6218fd2c6fd2bc4ebdeffa626835d9c62f5e45de 100644 Binary files a/public/reference/double_flank-1.png and b/public/reference/double_flank-1.png differ diff --git a/public/reference/double_flank-2.png b/public/reference/double_flank-2.png index 9a6f097ceea1b912be23b7ca4481745215ffe540..ca4cd182ce22984b1d19d4a9d9079e8d13133ea1 100644 Binary files a/public/reference/double_flank-2.png and b/public/reference/double_flank-2.png differ diff --git a/public/reference/double_flank.html b/public/reference/double_flank.html index ef237ee750fec7cc511414b0755d6c54203aaa80..0497267624ea4b296b207e4101f146a980548fa4 100644 --- a/public/reference/double_flank.html +++ b/public/reference/double_flank.html @@ -1,277 +1,277 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Double flank — double_flank • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Double flank — double_flank" /> -<meta property="og:description" content="Double flank" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Double flank</h1> - - <div class="hidden name"><code>double_flank.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Double flank</p> - </div> - - <pre class="usage"><span class='fu'>double_flank</span>( - <span class='no'>gr</span>, - <span class='kw'>upstart</span> <span class='kw'>=</span> -<span class='fl'>200</span>, - <span class='kw'>upend</span> <span class='kw'>=</span> -<span class='fl'>1</span>, - <span class='kw'>downstart</span> <span class='kw'>=</span> <span class='fl'>1</span>, - <span class='kw'>downend</span> <span class='kw'>=</span> <span class='fl'>200</span>, - <span class='kw'>strandaware</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, - <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>, - <span class='kw'>linetype_var</span> <span class='kw'>=</span> <span class='st'>"set"</span>, - <span class='no'>...</span> -)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>gr</th> - <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> - </tr> - <tr> - <th>upstart</th> - <td><p>upstream flank start in relation to start(gr)</p></td> - </tr> - <tr> - <th>upend</th> - <td><p>upstream flank end in relation to start(gr)</p></td> - </tr> - <tr> - <th>downstart</th> - <td><p>downstream flank start in relation to end(gr)</p></td> - </tr> - <tr> - <th>downend</th> - <td><p>downstream flank end in relation to end(gr)</p></td> - </tr> - <tr> - <th>strandaware</th> - <td><p>TRUE (default) or FALSE</p></td> - </tr> - <tr> - <th>plot</th> - <td><p>TRUE or FALSE (default)</p></td> - </tr> - <tr> - <th>linetype_var</th> - <td><p>gr var mapped to linetype</p></td> - </tr> - <tr> - <th>...</th> - <td><p>passed to plot_intervals</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='co'># Prime Editing example</span> -<span class='co'>#----------------------</span> - <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) - <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> - <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> - <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> - <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> - <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> - <span class='no'>bsgenome</span>) - <span class='fu'>double_flank</span>(<span class='no'>gr</span>, -<span class='fl'>10</span>, -<span class='fl'>1</span>, +<span class='fl'>1</span>, +<span class='fl'>20</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='message'> 8 flank ranges: 4 up + 4 down</span></div><div class='img'><img src='double_flank-1.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 8 ranges and 3 metadata columns: -#> seqnames ranges strand | targetname targetstart -#> <Rle> <IRanges> <Rle> | <character> <integer> -#> PRNP_u chr20 4699590-4699599 + | PRNP 4699600 -#> HBB_u chr11 5227003-5227012 - | HBB 5227002 -#> HEXA_u chr15 72346584-72346593 - | HEXA 72346580 -#> CFTR_u chr7 117559583-117559592 + | CFTR 117559593 -#> PRNP_d chr20 4699601-4699620 + | PRNP 4699600 -#> HBB_d chr11 5226982-5227001 - | HBB 5227002 -#> HEXA_d chr15 72346560-72346579 - | HEXA 72346580 -#> CFTR_d chr7 117559596-117559615 + | CFTR 117559593 -#> targetend -#> <integer> -#> PRNP_u 4699600 -#> HBB_u 5227002 -#> HEXA_u 72346583 -#> CFTR_u 117559595 -#> PRNP_d 4699600 -#> HBB_d 5227002 -#> HEXA_d 72346583 -#> CFTR_d 117559595 -#> ------- -#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'> -<span class='co'># TFBS example</span> -<span class='co'>#-------------</span> - <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span><span class='kw'>=</span><span class='st'>'multicrispr'</span>) - <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='kw'>genome</span> <span class='kw'>=</span> <span class='st'>'mm10'</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>)</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='input'> <span class='fu'>double_flank</span>(<span class='no'>gr</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='message'> 3948 flank ranges: 1974 up + 1974 down</span></div><div class='img'><img src='double_flank-2.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 3948 ranges and 5 metadata columns: -#> seqnames ranges strand | name score -#> <Rle> <IRanges> <Rle> | <character> <numeric> -#> T0001_u chr1 4712644-4712843 - | SRF_MA0083.3 10.49542 -#> T0002_u chr1 5250228-5250427 - | SRF_MA0083.3 9.7378 -#> T0003_u chr1 5250468-5250667 - | SRF_MA0083.3 5.92033 -#> T0004_u chr1 5256209-5256408 - | SRF_MA0083.3 9.7378 -#> T0005_u chr1 5985744-5985943 - | SRF_MA0083.3 9.44821 -#> ... ... ... ... . ... ... -#> T1970_d chrY 6770328-6770527 + | SRF_MA0083.3 9.7378 -#> T1971_d chrY 23130584-23130783 + | SRF_MA0083.3 9.7378 -#> T1972_d chrY 42512200-42512399 - | SRF_MA0083.3 6.59053 -#> T1973_d chrY 79047976-79048175 - | SRF_MA0083.3 9.7378 -#> T1974_d chrY 89126294-89126493 - | SRF_MA0083.3 4.54393 -#> targetname targetstart targetend -#> <character> <integer> <integer> -#> T0001_u T0001 4712628 4712643 -#> T0002_u T0002 5250212 5250227 -#> T0003_u T0003 5250452 5250467 -#> T0004_u T0004 5256193 5256208 -#> T0005_u T0005 5985728 5985743 -#> ... ... ... ... -#> T1970_d T1970 6770312 6770327 -#> T1971_d T1971 23130568 23130583 -#> T1972_d T1972 42512400 42512415 -#> T1973_d T1973 79048176 79048191 -#> T1974_d T1974 89126494 89126509 -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Double flank — double_flank • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Double flank — double_flank" /> +<meta property="og:description" content="Double flank" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Double flank</h1> + + <div class="hidden name"><code>double_flank.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Double flank</p> + </div> + + <pre class="usage"><span class='fu'>double_flank</span>( + <span class='no'>gr</span>, + <span class='kw'>upstart</span> <span class='kw'>=</span> -<span class='fl'>200</span>, + <span class='kw'>upend</span> <span class='kw'>=</span> -<span class='fl'>1</span>, + <span class='kw'>downstart</span> <span class='kw'>=</span> <span class='fl'>1</span>, + <span class='kw'>downend</span> <span class='kw'>=</span> <span class='fl'>200</span>, + <span class='kw'>strandaware</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, + <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>, + <span class='kw'>linetype_var</span> <span class='kw'>=</span> <span class='st'>"set"</span>, + <span class='no'>...</span> +)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>gr</th> + <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> + </tr> + <tr> + <th>upstart</th> + <td><p>upstream flank start in relation to start(gr)</p></td> + </tr> + <tr> + <th>upend</th> + <td><p>upstream flank end in relation to start(gr)</p></td> + </tr> + <tr> + <th>downstart</th> + <td><p>downstream flank start in relation to end(gr)</p></td> + </tr> + <tr> + <th>downend</th> + <td><p>downstream flank end in relation to end(gr)</p></td> + </tr> + <tr> + <th>strandaware</th> + <td><p>TRUE (default) or FALSE</p></td> + </tr> + <tr> + <th>plot</th> + <td><p>TRUE or FALSE (default)</p></td> + </tr> + <tr> + <th>linetype_var</th> + <td><p>gr var mapped to linetype</p></td> + </tr> + <tr> + <th>...</th> + <td><p>passed to plot_intervals</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='co'># Prime Editing example</span> +<span class='co'>#----------------------</span> + <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) + <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> + <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> + <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> + <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> + <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> + <span class='no'>bsgenome</span>) + <span class='fu'>double_flank</span>(<span class='no'>gr</span>, -<span class='fl'>10</span>, -<span class='fl'>1</span>, +<span class='fl'>1</span>, +<span class='fl'>20</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='message'> 8 flank ranges: 4 up + 4 down</span></div><div class='img'><img src='double_flank-1.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 8 ranges and 3 metadata columns: +#> seqnames ranges strand | targetname targetstart +#> <Rle> <IRanges> <Rle> | <character> <integer> +#> PRNP_u chr20 4699590-4699599 + | PRNP 4699600 +#> HBB_u chr11 5227003-5227012 - | HBB 5227002 +#> HEXA_u chr15 72346584-72346593 - | HEXA 72346580 +#> CFTR_u chr7 117559583-117559592 + | CFTR 117559593 +#> PRNP_d chr20 4699601-4699620 + | PRNP 4699600 +#> HBB_d chr11 5226982-5227001 - | HBB 5227002 +#> HEXA_d chr15 72346560-72346579 - | HEXA 72346580 +#> CFTR_d chr7 117559596-117559615 + | CFTR 117559593 +#> targetend +#> <integer> +#> PRNP_u 4699600 +#> HBB_u 5227002 +#> HEXA_u 72346583 +#> CFTR_u 117559595 +#> PRNP_d 4699600 +#> HBB_d 5227002 +#> HEXA_d 72346583 +#> CFTR_d 117559595 +#> ------- +#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'> +<span class='co'># TFBS example</span> +<span class='co'>#-------------</span> + <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span><span class='kw'>=</span><span class='st'>'multicrispr'</span>) + <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='kw'>genome</span> <span class='kw'>=</span> <span class='st'>'mm10'</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>)</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='input'> <span class='fu'>double_flank</span>(<span class='no'>gr</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='message'> 3948 flank ranges: 1974 up + 1974 down</span></div><div class='img'><img src='double_flank-2.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 3948 ranges and 5 metadata columns: +#> seqnames ranges strand | name score +#> <Rle> <IRanges> <Rle> | <character> <numeric> +#> T0001_u chr1 4712644-4712843 - | SRF_MA0083.3 10.49542 +#> T0002_u chr1 5250228-5250427 - | SRF_MA0083.3 9.7378 +#> T0003_u chr1 5250468-5250667 - | SRF_MA0083.3 5.92033 +#> T0004_u chr1 5256209-5256408 - | SRF_MA0083.3 9.7378 +#> T0005_u chr1 5985744-5985943 - | SRF_MA0083.3 9.44821 +#> ... ... ... ... . ... ... +#> T1970_d chrY 6770328-6770527 + | SRF_MA0083.3 9.7378 +#> T1971_d chrY 23130584-23130783 + | SRF_MA0083.3 9.7378 +#> T1972_d chrY 42512200-42512399 - | SRF_MA0083.3 6.59053 +#> T1973_d chrY 79047976-79048175 - | SRF_MA0083.3 9.7378 +#> T1974_d chrY 89126294-89126493 - | SRF_MA0083.3 4.54393 +#> targetname targetstart targetend +#> <character> <integer> <integer> +#> T0001_u T0001 4712628 4712643 +#> T0002_u T0002 5250212 5250227 +#> T0003_u T0003 5250452 5250467 +#> T0004_u T0004 5256193 5256208 +#> T0005_u T0005 5985728 5985743 +#> ... ... ... ... +#> T1970_d T1970 6770312 6770327 +#> T1971_d T1971 23130568 23130583 +#> T1972_d T1972 42512400 42512415 +#> T1973_d T1973 79048176 79048191 +#> T1974_d T1974 89126494 89126509 +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/extend_for_pe-1.png b/public/reference/extend_for_pe-1.png index f9eebb3779749d8050eae637fca854c586361a30..36e76a4da140c8ca4e71414a0429a1ca1f1698c8 100644 Binary files a/public/reference/extend_for_pe-1.png and b/public/reference/extend_for_pe-1.png differ diff --git a/public/reference/extend_for_pe-2.png b/public/reference/extend_for_pe-2.png index 81a9f5c744b832c768da6574277f3b600d569f4c..3ad37c1bb7faa30d9dd2254ffe54ca918721a6b0 100644 Binary files a/public/reference/extend_for_pe-2.png and b/public/reference/extend_for_pe-2.png differ diff --git a/public/reference/extend_for_pe-3.png b/public/reference/extend_for_pe-3.png index 81a9f5c744b832c768da6574277f3b600d569f4c..3ad37c1bb7faa30d9dd2254ffe54ca918721a6b0 100644 Binary files a/public/reference/extend_for_pe-3.png and b/public/reference/extend_for_pe-3.png differ diff --git a/public/reference/extend_for_pe.html b/public/reference/extend_for_pe.html index 5b42934af591cf6bbaa4eb9ace064c79ef481c8f..6878785691cdd8651690cf53cec27e163a435bbb 100644 --- a/public/reference/extend_for_pe.html +++ b/public/reference/extend_for_pe.html @@ -1,296 +1,296 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Extend ranges for prime editing — extend_for_pe • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Extend ranges for prime editing — extend_for_pe" /> -<meta property="og:description" content="Extend target ranges to span in which to look for spacer-pam seqs" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Extend ranges for prime editing</h1> - - <div class="hidden name"><code>extend_for_pe.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Extend target ranges to span in which to look for spacer-pam seqs</p> - </div> - - <pre class="usage"><span class='fu'>extend_for_pe</span>( - <span class='no'>gr</span>, - <span class='no'>bsgenome</span>, - <span class='kw'>nrt</span> <span class='kw'>=</span> <span class='fl'>16</span>, - <span class='kw'>spacer</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/strrep.html'>strrep</a></span>(<span class='st'>"N"</span>, <span class='fl'>20</span>), - <span class='kw'>pam</span> <span class='kw'>=</span> <span class='st'>"NGG"</span>, - <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span> -)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>gr</th> - <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> - </tr> - <tr> - <th>bsgenome</th> - <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> - </tr> - <tr> - <th>nrt</th> - <td><p>number: reverse transcription length</p></td> - </tr> - <tr> - <th>spacer</th> - <td><p>string: spacer pattern in extended IUPAC alphabet</p></td> - </tr> - <tr> - <th>pam</th> - <td><p>string: pam pattern in extended IUPAC alphabet</p></td> - </tr> - <tr> - <th>plot</th> - <td><p>TRUE (default) or FALSE</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> - <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2> - - <p>Extend target ranges to find nearby spacers for prime editing</p> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) -<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> -<span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>( <span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> - <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> - <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> - <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> - <span class='kw'>bsgenome</span> <span class='kw'>=</span> <span class='no'>bsgenome</span>) -<span class='fu'><a href='find_pe_spacers.html'>find_pe_spacers</a></span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>)</div><div class='img'><img src='extend_for_pe-1.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 10 ranges and 9 metadata columns: -#> seqnames ranges strand | targetname targetstart -#> <Rle> <IRanges> <Rle> | <character> <integer> -#> CFTR_1 chr7 117559575-117559594 + | CFTR 117559593 -#> CFTR_2 chr7 117559606-117559625 - | CFTR 117559593 -#> HBB_1 chr11 5227003-5227022 - | HBB 5227002 -#> HBB_2 chr11 5226984-5227003 + | HBB 5227002 -#> HEXA_1 chr15 72346551-72346570 + | HEXA 72346580 -#> HEXA_2 chr15 72346558-72346577 + | HEXA 72346580 -#> PRNP_1 chr20 4699568-4699587 + | PRNP 4699600 -#> PRNP_2 chr20 4699569-4699588 + | PRNP 4699600 -#> PRNP_3 chr20 4699575-4699594 + | PRNP 4699600 -#> PRNP_4 chr20 4699578-4699597 + | PRNP 4699600 -#> targetend crisprname crisprspacer crisprpam primer -#> <integer> <character> <character> <character> <character> -#> CFTR_1 117559595 CFTR_1 ATTAAAGAAAATATCATCTT TGG AAGAAAATATCAT -#> CFTR_2 117559595 CFTR_2 TCTGTATCTATATTCATCAT AGG TATCTATATTCAT -#> HBB_1 5227002 HBB_1 CATGGTGCATCTGACTCCTG AGG GTGCATCTGACTC -#> HBB_2 5227002 HBB_2 GTAACGGCAGACTTCTCCTC AGG CGGCAGACTTCTC -#> HEXA_1 72346583 HEXA_1 TGTAGAAATCCTTCCAGTCA GGG GAAATCCTTCCAG -#> HEXA_2 72346583 HEXA_2 ATCCTTCCAGTCAGGGCCAT AGG TTCCAGTCAGGGC -#> PRNP_1 4699600 PRNP_1 AGCAGCTGGGGCAGTGGTGG GGG GCTGGGGCAGTGG -#> PRNP_2 4699600 PRNP_2 GCAGCTGGGGCAGTGGTGGG GGG CTGGGGCAGTGGT -#> PRNP_3 4699600 PRNP_3 GGGGCAGTGGTGGGGGGCCT TGG CAGTGGTGGGGGG -#> PRNP_4 4699600 PRNP_4 GCAGTGGTGGGGGGCCTTGG CGG TGGTGGGGGGCCT -#> revtranscript extension -#> <character> <character> -#> CFTR_1 CTTTGGTGTTTCCTAT ATAGGAAACACCAAAGATGATATTTTCTT -#> CFTR_2 CATAGGAAACACCAAA TTTGGTGTTTCCTATGATGAATATAGATA -#> HBB_1 CTGAGGAGAAGTCTGC GCAGACTTCTCCTCAGGAGTCAGATGCAC -#> HBB_2 CTCAGGAGTCAGATGC GCATCTGACTCCTGAGGAGAAGTCTGCCG -#> HEXA_1 TCAGGGCCATAGGATA TATCCTATGGCCCTGACTGGAAGGATTTC -#> HEXA_2 CATAGGATATACGGTT AACCGTATATCCTATGGCCCTGACTGGAA -#> PRNP_1 TGGGGGGCCTTGGCGG CCGCCAAGGCCCCCCACCACTGCCCCAGC -#> PRNP_2 GGGGGGCCTTGGCGGC GCCGCCAAGGCCCCCCACCACTGCCCCAG -#> PRNP_3 CCTTGGCGGCTACATG CATGTAGCCGCCAAGGCCCCCCACCACTG -#> PRNP_4 TGGCGGCTACATGCTG CAGCATGTAGCCGCCAAGGCCCCCCACCA -#> ------- -#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'>(<span class='no'>grext</span> <span class='kw'><-</span> <span class='fu'>extend_for_pe</span>(<span class='no'>gr</span>))</div><div class='output co'>#> GRanges object with 8 ranges and 3 metadata columns: -#> seqnames ranges strand | targetname targetstart -#> <Rle> <IRanges> <Rle> | <character> <integer> -#> PRNP_f chr20 4699568-4699605 + | PRNP 4699600 -#> HBB_f chr11 5226970-5227007 + | HBB 5227002 -#> HEXA_f chr15 72346551-72346585 + | HEXA 72346580 -#> CFTR_f chr7 117559563-117559598 + | CFTR 117559593 -#> PRNP_r chr20 4699595-4699632 - | PRNP 4699600 -#> HBB_r chr11 5226997-5227034 - | HBB 5227002 -#> HEXA_r chr15 72346578-72346612 - | HEXA 72346580 -#> CFTR_r chr7 117559590-117559625 - | CFTR 117559593 -#> targetend -#> <integer> -#> PRNP_f 4699600 -#> HBB_f 5227002 -#> HEXA_f 72346583 -#> CFTR_f 117559595 -#> PRNP_r 4699600 -#> HBB_r 5227002 -#> HEXA_r 72346583 -#> CFTR_r 117559595 -#> ------- -#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'><span class='fu'><a href='find_spacers.html'>find_spacers</a></span>(<span class='no'>grext</span>, <span class='no'>bsgenome</span>, <span class='kw'>complement</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>)</div><div class='img'><img src='extend_for_pe-2.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 10 ranges and 6 metadata columns: -#> seqnames ranges strand | targetname targetstart -#> <Rle> <IRanges> <Rle> | <character> <integer> -#> CFTR_f chr7 117559575-117559594 + | CFTR 117559593 -#> CFTR_r chr7 117559606-117559625 - | CFTR 117559593 -#> HBB_f chr11 5226984-5227003 + | HBB 5227002 -#> HBB_r chr11 5227003-5227022 - | HBB 5227002 -#> HEXA_f_1 chr15 72346551-72346570 + | HEXA 72346580 -#> HEXA_f_2 chr15 72346558-72346577 + | HEXA 72346580 -#> PRNP_f_1 chr20 4699568-4699587 + | PRNP 4699600 -#> PRNP_f_2 chr20 4699569-4699588 + | PRNP 4699600 -#> PRNP_f_3 chr20 4699575-4699594 + | PRNP 4699600 -#> PRNP_f_4 chr20 4699578-4699597 + | PRNP 4699600 -#> targetend crisprname crisprspacer crisprpam -#> <integer> <character> <character> <character> -#> CFTR_f 117559595 CFTR_f ATTAAAGAAAATATCATCTT TGG -#> CFTR_r 117559595 CFTR_r TCTGTATCTATATTCATCAT AGG -#> HBB_f 5227002 HBB_f GTAACGGCAGACTTCTCCTC AGG -#> HBB_r 5227002 HBB_r CATGGTGCATCTGACTCCTG AGG -#> HEXA_f_1 72346583 HEXA_f_1 TGTAGAAATCCTTCCAGTCA GGG -#> HEXA_f_2 72346583 HEXA_f_2 ATCCTTCCAGTCAGGGCCAT AGG -#> PRNP_f_1 4699600 PRNP_f_1 AGCAGCTGGGGCAGTGGTGG GGG -#> PRNP_f_2 4699600 PRNP_f_2 GCAGCTGGGGCAGTGGTGGG GGG -#> PRNP_f_3 4699600 PRNP_f_3 GGGGCAGTGGTGGGGGGCCT TGG -#> PRNP_f_4 4699600 PRNP_f_4 GCAGTGGTGGGGGGCCTTGG CGG -#> ------- -#> seqinfo: 455 sequences (1 circular) from hg38 genome</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#details">Details</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Extend ranges for prime editing — extend_for_pe • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Extend ranges for prime editing — extend_for_pe" /> +<meta property="og:description" content="Extend target ranges to span in which to look for spacer-pam seqs" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Extend ranges for prime editing</h1> + + <div class="hidden name"><code>extend_for_pe.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Extend target ranges to span in which to look for spacer-pam seqs</p> + </div> + + <pre class="usage"><span class='fu'>extend_for_pe</span>( + <span class='no'>gr</span>, + <span class='no'>bsgenome</span>, + <span class='kw'>nrt</span> <span class='kw'>=</span> <span class='fl'>16</span>, + <span class='kw'>spacer</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/strrep.html'>strrep</a></span>(<span class='st'>"N"</span>, <span class='fl'>20</span>), + <span class='kw'>pam</span> <span class='kw'>=</span> <span class='st'>"NGG"</span>, + <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span> +)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>gr</th> + <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> + </tr> + <tr> + <th>bsgenome</th> + <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> + </tr> + <tr> + <th>nrt</th> + <td><p>number: reverse transcription length</p></td> + </tr> + <tr> + <th>spacer</th> + <td><p>string: spacer pattern in extended IUPAC alphabet</p></td> + </tr> + <tr> + <th>pam</th> + <td><p>string: pam pattern in extended IUPAC alphabet</p></td> + </tr> + <tr> + <th>plot</th> + <td><p>TRUE (default) or FALSE</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> + <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2> + + <p>Extend target ranges to find nearby spacers for prime editing</p> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) +<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> +<span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>( <span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> + <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> + <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> + <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> + <span class='kw'>bsgenome</span> <span class='kw'>=</span> <span class='no'>bsgenome</span>) +<span class='fu'><a href='find_pe_spacers.html'>find_pe_spacers</a></span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>)</div><div class='img'><img src='extend_for_pe-1.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 10 ranges and 9 metadata columns: +#> seqnames ranges strand | targetname targetstart +#> <Rle> <IRanges> <Rle> | <character> <integer> +#> CFTR_1 chr7 117559575-117559594 + | CFTR 117559593 +#> CFTR_2 chr7 117559606-117559625 - | CFTR 117559593 +#> HBB_1 chr11 5227003-5227022 - | HBB 5227002 +#> HBB_2 chr11 5226984-5227003 + | HBB 5227002 +#> HEXA_1 chr15 72346551-72346570 + | HEXA 72346580 +#> HEXA_2 chr15 72346558-72346577 + | HEXA 72346580 +#> PRNP_1 chr20 4699568-4699587 + | PRNP 4699600 +#> PRNP_2 chr20 4699569-4699588 + | PRNP 4699600 +#> PRNP_3 chr20 4699575-4699594 + | PRNP 4699600 +#> PRNP_4 chr20 4699578-4699597 + | PRNP 4699600 +#> targetend crisprname crisprspacer crisprpam primer +#> <integer> <character> <character> <character> <character> +#> CFTR_1 117559595 CFTR_1 ATTAAAGAAAATATCATCTT TGG AAGAAAATATCAT +#> CFTR_2 117559595 CFTR_2 TCTGTATCTATATTCATCAT AGG TATCTATATTCAT +#> HBB_1 5227002 HBB_1 CATGGTGCATCTGACTCCTG AGG GTGCATCTGACTC +#> HBB_2 5227002 HBB_2 GTAACGGCAGACTTCTCCTC AGG CGGCAGACTTCTC +#> HEXA_1 72346583 HEXA_1 TGTAGAAATCCTTCCAGTCA GGG GAAATCCTTCCAG +#> HEXA_2 72346583 HEXA_2 ATCCTTCCAGTCAGGGCCAT AGG TTCCAGTCAGGGC +#> PRNP_1 4699600 PRNP_1 AGCAGCTGGGGCAGTGGTGG GGG GCTGGGGCAGTGG +#> PRNP_2 4699600 PRNP_2 GCAGCTGGGGCAGTGGTGGG GGG CTGGGGCAGTGGT +#> PRNP_3 4699600 PRNP_3 GGGGCAGTGGTGGGGGGCCT TGG CAGTGGTGGGGGG +#> PRNP_4 4699600 PRNP_4 GCAGTGGTGGGGGGCCTTGG CGG TGGTGGGGGGCCT +#> revtranscript extension +#> <character> <character> +#> CFTR_1 CTTTGGTGTTTCCTAT ATAGGAAACACCAAAGATGATATTTTCTT +#> CFTR_2 CATAGGAAACACCAAA TTTGGTGTTTCCTATGATGAATATAGATA +#> HBB_1 CTGAGGAGAAGTCTGC GCAGACTTCTCCTCAGGAGTCAGATGCAC +#> HBB_2 CTCAGGAGTCAGATGC GCATCTGACTCCTGAGGAGAAGTCTGCCG +#> HEXA_1 TCAGGGCCATAGGATA TATCCTATGGCCCTGACTGGAAGGATTTC +#> HEXA_2 CATAGGATATACGGTT AACCGTATATCCTATGGCCCTGACTGGAA +#> PRNP_1 TGGGGGGCCTTGGCGG CCGCCAAGGCCCCCCACCACTGCCCCAGC +#> PRNP_2 GGGGGGCCTTGGCGGC GCCGCCAAGGCCCCCCACCACTGCCCCAG +#> PRNP_3 CCTTGGCGGCTACATG CATGTAGCCGCCAAGGCCCCCCACCACTG +#> PRNP_4 TGGCGGCTACATGCTG CAGCATGTAGCCGCCAAGGCCCCCCACCA +#> ------- +#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'>(<span class='no'>grext</span> <span class='kw'><-</span> <span class='fu'>extend_for_pe</span>(<span class='no'>gr</span>))</div><div class='output co'>#> GRanges object with 8 ranges and 3 metadata columns: +#> seqnames ranges strand | targetname targetstart +#> <Rle> <IRanges> <Rle> | <character> <integer> +#> PRNP_f chr20 4699568-4699605 + | PRNP 4699600 +#> HBB_f chr11 5226970-5227007 + | HBB 5227002 +#> HEXA_f chr15 72346551-72346585 + | HEXA 72346580 +#> CFTR_f chr7 117559563-117559598 + | CFTR 117559593 +#> PRNP_r chr20 4699595-4699632 - | PRNP 4699600 +#> HBB_r chr11 5226997-5227034 - | HBB 5227002 +#> HEXA_r chr15 72346578-72346612 - | HEXA 72346580 +#> CFTR_r chr7 117559590-117559625 - | CFTR 117559593 +#> targetend +#> <integer> +#> PRNP_f 4699600 +#> HBB_f 5227002 +#> HEXA_f 72346583 +#> CFTR_f 117559595 +#> PRNP_r 4699600 +#> HBB_r 5227002 +#> HEXA_r 72346583 +#> CFTR_r 117559595 +#> ------- +#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'><span class='fu'><a href='find_spacers.html'>find_spacers</a></span>(<span class='no'>grext</span>, <span class='no'>bsgenome</span>, <span class='kw'>complement</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>)</div><div class='img'><img src='extend_for_pe-2.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 10 ranges and 6 metadata columns: +#> seqnames ranges strand | targetname targetstart +#> <Rle> <IRanges> <Rle> | <character> <integer> +#> CFTR_f chr7 117559575-117559594 + | CFTR 117559593 +#> CFTR_r chr7 117559606-117559625 - | CFTR 117559593 +#> HBB_f chr11 5226984-5227003 + | HBB 5227002 +#> HBB_r chr11 5227003-5227022 - | HBB 5227002 +#> HEXA_f_1 chr15 72346551-72346570 + | HEXA 72346580 +#> HEXA_f_2 chr15 72346558-72346577 + | HEXA 72346580 +#> PRNP_f_1 chr20 4699568-4699587 + | PRNP 4699600 +#> PRNP_f_2 chr20 4699569-4699588 + | PRNP 4699600 +#> PRNP_f_3 chr20 4699575-4699594 + | PRNP 4699600 +#> PRNP_f_4 chr20 4699578-4699597 + | PRNP 4699600 +#> targetend crisprname crisprspacer crisprpam +#> <integer> <character> <character> <character> +#> CFTR_f 117559595 CFTR_f ATTAAAGAAAATATCATCTT TGG +#> CFTR_r 117559595 CFTR_r TCTGTATCTATATTCATCAT AGG +#> HBB_f 5227002 HBB_f GTAACGGCAGACTTCTCCTC AGG +#> HBB_r 5227002 HBB_r CATGGTGCATCTGACTCCTG AGG +#> HEXA_f_1 72346583 HEXA_f_1 TGTAGAAATCCTTCCAGTCA GGG +#> HEXA_f_2 72346583 HEXA_f_2 ATCCTTCCAGTCAGGGCCAT AGG +#> PRNP_f_1 4699600 PRNP_f_1 AGCAGCTGGGGCAGTGGTGG GGG +#> PRNP_f_2 4699600 PRNP_f_2 GCAGCTGGGGCAGTGGTGGG GGG +#> PRNP_f_3 4699600 PRNP_f_3 GGGGCAGTGGTGGGGGGCCT TGG +#> PRNP_f_4 4699600 PRNP_f_4 GCAGTGGTGGGGGGCCTTGG CGG +#> ------- +#> seqinfo: 455 sequences (1 circular) from hg38 genome</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#details">Details</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/extend_pe_to_gg.html b/public/reference/extend_pe_to_gg.html index 2e91bfe762e33a4bfb00278fa981b19ae16184ad..fff4359a72a6e644fa2dae864ce5103511c29b78 100644 --- a/public/reference/extend_pe_to_gg.html +++ b/public/reference/extend_pe_to_gg.html @@ -1,213 +1,213 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Extend prime editing target to find GG sites — extend_pe_to_gg • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Extend prime editing target to find GG sites — extend_pe_to_gg" /> -<meta property="og:description" content="Extend prime editing target to find GG sites in accessible neighbourhood" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Extend prime editing target to find GG sites</h1> - - <div class="hidden name"><code>extend_pe_to_gg.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Extend prime editing target to find GG sites in accessible neighbourhood</p> - </div> - - <pre class="usage"><span class='fu'>extend_pe_to_gg</span>(<span class='no'>gr</span>, <span class='kw'>nrt</span> <span class='kw'>=</span> <span class='fl'>16</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>gr</th> - <td><p>target <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> - </tr> - <tr> - <th>nrt</th> - <td><p>n RT nucleotides (default 16, recommended 10-16)</p></td> - </tr> - <tr> - <th>plot</th> - <td><p>TRUE or FALSE (default)</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> - <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2> - - <p>Extends each target range to the area in which to search for a prime editing -GG duplet, as shown in the sketch below.</p> -<p>===============> - ----GG---------> - ----GG---------> - ** - <---------GG--- - <---------GG---- - <===============</p> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='co'># PE example</span> -<span class='co'>#-----------</span> - <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) - <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> - <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> - <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> - <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> - <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> - <span class='no'>bsgenome</span>) - <span class='fu'>extend_pe_to_gg</span>(<span class='no'>gr</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</div><div class='output co'>#> GRanges object with 8 ranges and 3 metadata columns: -#> seqnames ranges strand | targetname targetstart targetend -#> <Rle> <IRanges> <Rle> | <character> <integer> <integer> -#> CFTR chr7 117559584-117559598 + | CFTR 117559593 117559595 -#> CFTR chr7 117559590-117559604 - | CFTR 117559593 117559595 -#> HBB chr11 5226991-5227007 + | HBB 5227002 5227002 -#> HBB chr11 5226997-5227013 - | HBB 5227002 5227002 -#> HEXA chr15 72346572-72346585 + | HEXA 72346580 72346583 -#> HEXA chr15 72346578-72346591 - | HEXA 72346580 72346583 -#> PRNP chr20 4699589-4699605 + | PRNP 4699600 4699600 -#> PRNP chr20 4699595-4699611 - | PRNP 4699600 4699600 -#> ------- -#> seqinfo: 455 sequences (1 circular) from hg38 genome</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#details">Details</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Extend prime editing target to find GG sites — extend_pe_to_gg • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Extend prime editing target to find GG sites — extend_pe_to_gg" /> +<meta property="og:description" content="Extend prime editing target to find GG sites in accessible neighbourhood" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Extend prime editing target to find GG sites</h1> + + <div class="hidden name"><code>extend_pe_to_gg.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Extend prime editing target to find GG sites in accessible neighbourhood</p> + </div> + + <pre class="usage"><span class='fu'>extend_pe_to_gg</span>(<span class='no'>gr</span>, <span class='kw'>nrt</span> <span class='kw'>=</span> <span class='fl'>16</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>gr</th> + <td><p>target <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> + </tr> + <tr> + <th>nrt</th> + <td><p>n RT nucleotides (default 16, recommended 10-16)</p></td> + </tr> + <tr> + <th>plot</th> + <td><p>TRUE or FALSE (default)</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> + <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2> + + <p>Extends each target range to the area in which to search for a prime editing +GG duplet, as shown in the sketch below.</p> +<p>===============> + ----GG---------> + ----GG---------> + ** + <---------GG--- + <---------GG---- + <===============</p> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='co'># PE example</span> +<span class='co'>#-----------</span> + <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) + <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> + <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> + <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> + <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> + <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> + <span class='no'>bsgenome</span>) + <span class='fu'>extend_pe_to_gg</span>(<span class='no'>gr</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</div><div class='output co'>#> GRanges object with 8 ranges and 3 metadata columns: +#> seqnames ranges strand | targetname targetstart targetend +#> <Rle> <IRanges> <Rle> | <character> <integer> <integer> +#> CFTR chr7 117559584-117559598 + | CFTR 117559593 117559595 +#> CFTR chr7 117559590-117559604 - | CFTR 117559593 117559595 +#> HBB chr11 5226991-5227007 + | HBB 5227002 5227002 +#> HBB chr11 5226997-5227013 - | HBB 5227002 5227002 +#> HEXA chr15 72346572-72346585 + | HEXA 72346580 72346583 +#> HEXA chr15 72346578-72346591 - | HEXA 72346580 72346583 +#> PRNP chr20 4699589-4699605 + | PRNP 4699600 4699600 +#> PRNP chr20 4699595-4699611 - | PRNP 4699600 4699600 +#> ------- +#> seqinfo: 455 sequences (1 circular) from hg38 genome</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#details">Details</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/extract_matchranges-1.png b/public/reference/extract_matchranges-1.png index 5e003d8a12d797dbedc23943340fa1238c0f8ef6..91881418cd3f1d2343a798f587f2d2b69ce13c64 100644 Binary files a/public/reference/extract_matchranges-1.png and b/public/reference/extract_matchranges-1.png differ diff --git a/public/reference/extract_matchranges-2.png b/public/reference/extract_matchranges-2.png index 2fa9dd21011d9aa61c2a5d26172ac121a09e78f3..f7ac80ffc8c47fd48735082a7978c4c3f9ab887a 100644 Binary files a/public/reference/extract_matchranges-2.png and b/public/reference/extract_matchranges-2.png differ diff --git a/public/reference/extract_matchranges-3.png b/public/reference/extract_matchranges-3.png index 2fa9dd21011d9aa61c2a5d26172ac121a09e78f3..f7ac80ffc8c47fd48735082a7978c4c3f9ab887a 100644 Binary files a/public/reference/extract_matchranges-3.png and b/public/reference/extract_matchranges-3.png differ diff --git a/public/reference/extract_matchranges.html b/public/reference/extract_matchranges.html index 7c29f404130aa447f5b6b9d8b08cb105a0dd1622..ebeb00361bf2ed74b1fc960fa696d4808f3dff21 100644 --- a/public/reference/extract_matchranges.html +++ b/public/reference/extract_matchranges.html @@ -1,254 +1,254 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Extract matching subranges — extract_matchranges • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Extract matching subranges — extract_matchranges" /> -<meta property="og:description" content="Extract subranges that match pattern" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Extract matching subranges</h1> - - <div class="hidden name"><code>extract_matchranges.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Extract subranges that match pattern</p> - </div> - - <pre class="usage"><span class='fu'>extract_matchranges</span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>, <span class='no'>pattern</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>gr</th> - <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> - </tr> - <tr> - <th>bsgenome</th> - <td><p><code>BSgenome{BSgenome-class}</code></p></td> - </tr> - <tr> - <th>pattern</th> - <td><p>string: search pattern in extended IUPAC alphabet</p></td> - </tr> - <tr> - <th>plot</th> - <td><p>TRUE or FALSE (default)</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='co'># PE example</span> -<span class='co'>#------------</span> -<span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) -<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> -<span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> - <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> - <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> - <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> - <span class='no'>bsgenome</span>) -<span class='no'>gr</span> <span class='kw'>%<>%</span> <span class='fu'><a href='extend_for_pe.html'>extend_for_pe</a></span>() -<span class='no'>pattern</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/strrep.html'>strrep</a></span>(<span class='st'>'N'</span>,<span class='fl'>20</span>) <span class='kw'>%>%</span> <span class='fu'><a href='https://rdrr.io/r/base/paste.html'>paste0</a></span>(<span class='st'>'NGG'</span>) -<span class='fu'>extract_matchranges</span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>, <span class='no'>pattern</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</div><div class='img'><img src='extract_matchranges-1.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 10 ranges and 3 metadata columns: -#> seqnames ranges strand | targetname targetstart -#> <Rle> <IRanges> <Rle> | <character> <integer> -#> CFTR_f chr7 117559575-117559597 + | CFTR 117559593 -#> CFTR_r chr7 117559603-117559625 - | CFTR 117559593 -#> HBB_f chr11 5226984-5227006 + | HBB 5227002 -#> HBB_r chr11 5227000-5227022 - | HBB 5227002 -#> HEXA_f_1 chr15 72346551-72346573 + | HEXA 72346580 -#> HEXA_f_2 chr15 72346558-72346580 + | HEXA 72346580 -#> PRNP_f_1 chr20 4699568-4699590 + | PRNP 4699600 -#> PRNP_f_2 chr20 4699569-4699591 + | PRNP 4699600 -#> PRNP_f_3 chr20 4699575-4699597 + | PRNP 4699600 -#> PRNP_f_4 chr20 4699578-4699600 + | PRNP 4699600 -#> targetend -#> <integer> -#> CFTR_f 117559595 -#> CFTR_r 117559595 -#> HBB_f 5227002 -#> HBB_r 5227002 -#> HEXA_f_1 72346583 -#> HEXA_f_2 72346583 -#> PRNP_f_1 4699600 -#> PRNP_f_2 4699600 -#> PRNP_f_3 4699600 -#> PRNP_f_4 4699600 -#> ------- -#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'> -<span class='co'># TFBS examples</span> -<span class='co'>#--------------</span> -<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> -<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span><span class='kw'>=</span><span class='st'>'multicrispr'</span>) -<span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='st'>'mm10'</span>) <span class='kw'>%>%</span> <span class='fu'><a href='up_flank.html'>extend</a></span>()</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='extract_matchranges-2.png' alt='' width='700' height='433' /></div><div class='input'><span class='fu'>extract_matchranges</span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>, <span class='kw'>pattern</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/strrep.html'>strrep</a></span>(<span class='st'>'N'</span>,<span class='fl'>20</span>) <span class='kw'>%>%</span> <span class='fu'><a href='https://rdrr.io/r/base/paste.html'>paste0</a></span>(<span class='st'>'NGG'</span>))</div><div class='output co'>#> GRanges object with 6616 ranges and 5 metadata columns: -#> seqnames ranges strand | name score -#> <Rle> <IRanges> <Rle> | <character> <numeric> -#> T0001_5 chr1 4712616-4712638 - | SRF_MA0083.3 10.49542 -#> T0001_4 chr1 4712617-4712639 - | SRF_MA0083.3 10.49542 -#> T0001_3 chr1 4712624-4712646 - | SRF_MA0083.3 10.49542 -#> T0001_2 chr1 4712630-4712652 - | SRF_MA0083.3 10.49542 -#> T0001_1 chr1 4712631-4712653 - | SRF_MA0083.3 10.49542 -#> ... ... ... ... . ... ... -#> T1973_2 chrY 79048172-79048194 - | SRF_MA0083.3 9.7378 -#> T1973_1 chrY 79048179-79048201 - | SRF_MA0083.3 9.7378 -#> T1974_3 chrY 89126489-89126511 - | SRF_MA0083.3 4.54393 -#> T1974_2 chrY 89126496-89126518 - | SRF_MA0083.3 4.54393 -#> T1974_1 chrY 89126497-89126519 - | SRF_MA0083.3 4.54393 -#> targetname targetstart targetend -#> <character> <integer> <integer> -#> T0001_5 T0001 4712628 4712643 -#> T0001_4 T0001 4712628 4712643 -#> T0001_3 T0001 4712628 4712643 -#> T0001_2 T0001 4712628 4712643 -#> T0001_1 T0001 4712628 4712643 -#> ... ... ... ... -#> T1973_2 T1973 79048176 79048191 -#> T1973_1 T1973 79048176 79048191 -#> T1974_3 T1974 89126494 89126509 -#> T1974_2 T1974 89126494 89126509 -#> T1974_1 T1974 89126494 89126509 -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Extract matching subranges — extract_matchranges • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Extract matching subranges — extract_matchranges" /> +<meta property="og:description" content="Extract subranges that match pattern" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Extract matching subranges</h1> + + <div class="hidden name"><code>extract_matchranges.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Extract subranges that match pattern</p> + </div> + + <pre class="usage"><span class='fu'>extract_matchranges</span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>, <span class='no'>pattern</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>gr</th> + <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> + </tr> + <tr> + <th>bsgenome</th> + <td><p><code>BSgenome{BSgenome-class}</code></p></td> + </tr> + <tr> + <th>pattern</th> + <td><p>string: search pattern in extended IUPAC alphabet</p></td> + </tr> + <tr> + <th>plot</th> + <td><p>TRUE or FALSE (default)</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='co'># PE example</span> +<span class='co'>#------------</span> +<span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) +<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> +<span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> + <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> + <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> + <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> + <span class='no'>bsgenome</span>) +<span class='no'>gr</span> <span class='kw'>%<>%</span> <span class='fu'><a href='extend_for_pe.html'>extend_for_pe</a></span>() +<span class='no'>pattern</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/strrep.html'>strrep</a></span>(<span class='st'>'N'</span>,<span class='fl'>20</span>) <span class='kw'>%>%</span> <span class='fu'><a href='https://rdrr.io/r/base/paste.html'>paste0</a></span>(<span class='st'>'NGG'</span>) +<span class='fu'>extract_matchranges</span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>, <span class='no'>pattern</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</div><div class='img'><img src='extract_matchranges-1.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 10 ranges and 3 metadata columns: +#> seqnames ranges strand | targetname targetstart +#> <Rle> <IRanges> <Rle> | <character> <integer> +#> CFTR_f chr7 117559575-117559597 + | CFTR 117559593 +#> CFTR_r chr7 117559603-117559625 - | CFTR 117559593 +#> HBB_f chr11 5226984-5227006 + | HBB 5227002 +#> HBB_r chr11 5227000-5227022 - | HBB 5227002 +#> HEXA_f_1 chr15 72346551-72346573 + | HEXA 72346580 +#> HEXA_f_2 chr15 72346558-72346580 + | HEXA 72346580 +#> PRNP_f_1 chr20 4699568-4699590 + | PRNP 4699600 +#> PRNP_f_2 chr20 4699569-4699591 + | PRNP 4699600 +#> PRNP_f_3 chr20 4699575-4699597 + | PRNP 4699600 +#> PRNP_f_4 chr20 4699578-4699600 + | PRNP 4699600 +#> targetend +#> <integer> +#> CFTR_f 117559595 +#> CFTR_r 117559595 +#> HBB_f 5227002 +#> HBB_r 5227002 +#> HEXA_f_1 72346583 +#> HEXA_f_2 72346583 +#> PRNP_f_1 4699600 +#> PRNP_f_2 4699600 +#> PRNP_f_3 4699600 +#> PRNP_f_4 4699600 +#> ------- +#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'> +<span class='co'># TFBS examples</span> +<span class='co'>#--------------</span> +<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> +<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span><span class='kw'>=</span><span class='st'>'multicrispr'</span>) +<span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='st'>'mm10'</span>) <span class='kw'>%>%</span> <span class='fu'><a href='up_flank.html'>extend</a></span>()</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='extract_matchranges-2.png' alt='' width='700' height='433' /></div><div class='input'><span class='fu'>extract_matchranges</span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>, <span class='kw'>pattern</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/strrep.html'>strrep</a></span>(<span class='st'>'N'</span>,<span class='fl'>20</span>) <span class='kw'>%>%</span> <span class='fu'><a href='https://rdrr.io/r/base/paste.html'>paste0</a></span>(<span class='st'>'NGG'</span>))</div><div class='output co'>#> GRanges object with 6616 ranges and 5 metadata columns: +#> seqnames ranges strand | name score +#> <Rle> <IRanges> <Rle> | <character> <numeric> +#> T0001_5 chr1 4712616-4712638 - | SRF_MA0083.3 10.49542 +#> T0001_4 chr1 4712617-4712639 - | SRF_MA0083.3 10.49542 +#> T0001_3 chr1 4712624-4712646 - | SRF_MA0083.3 10.49542 +#> T0001_2 chr1 4712630-4712652 - | SRF_MA0083.3 10.49542 +#> T0001_1 chr1 4712631-4712653 - | SRF_MA0083.3 10.49542 +#> ... ... ... ... . ... ... +#> T1973_2 chrY 79048172-79048194 - | SRF_MA0083.3 9.7378 +#> T1973_1 chrY 79048179-79048201 - | SRF_MA0083.3 9.7378 +#> T1974_3 chrY 89126489-89126511 - | SRF_MA0083.3 4.54393 +#> T1974_2 chrY 89126496-89126518 - | SRF_MA0083.3 4.54393 +#> T1974_1 chrY 89126497-89126519 - | SRF_MA0083.3 4.54393 +#> targetname targetstart targetend +#> <character> <integer> <integer> +#> T0001_5 T0001 4712628 4712643 +#> T0001_4 T0001 4712628 4712643 +#> T0001_3 T0001 4712628 4712643 +#> T0001_2 T0001 4712628 4712643 +#> T0001_1 T0001 4712628 4712643 +#> ... ... ... ... +#> T1973_2 T1973 79048176 79048191 +#> T1973_1 T1973 79048176 79048191 +#> T1974_3 T1974 89126494 89126509 +#> T1974_2 T1974 89126494 89126509 +#> T1974_1 T1974 89126494 89126509 +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/extract_subranges-1.png b/public/reference/extract_subranges-1.png index 9a8bf3b15e2fdf5b4349bfd572f19c9833de42fa..84f4efa7ce2e54307589f3acb16fd988a663eaeb 100644 Binary files a/public/reference/extract_subranges-1.png and b/public/reference/extract_subranges-1.png differ diff --git a/public/reference/extract_subranges.html b/public/reference/extract_subranges.html index 1fb9156112d14560dc222f0a50288660837c13a2..83b1ee35ccc9bcfe0ea12069c6b9127cee8f88e1 100644 --- a/public/reference/extract_subranges.html +++ b/public/reference/extract_subranges.html @@ -1,191 +1,191 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Extract subranges — extract_subranges • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Extract subranges — extract_subranges" /> -<meta property="og:description" content="Extract subranges from a GRanges-class object" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Extract subranges</h1> - - <div class="hidden name"><code>extract_subranges.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Extract subranges from a <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code> object</p> - </div> - - <pre class="usage"><span class='fu'>extract_subranges</span>(<span class='no'>gr</span>, <span class='no'>ir</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>gr</th> - <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> - </tr> - <tr> - <th>ir</th> - <td><p><code><a href='https://rdrr.io/pkg/IRanges/man/IRanges-class.html'>IRanges-class</a></code>: subranges to be extracted</p></td> - </tr> - <tr> - <th>plot</th> - <td><p>TRUE or FALSE (default)</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code>.</p> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='no'>gr</span> <span class='kw'><-</span> <span class='kw pkg'>GenomicRanges</span><span class='kw ns'>::</span><span class='fu'><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>A</span> <span class='kw'>=</span> <span class='st'>'chr1:1-100:+'</span>, <span class='kw'>B</span> <span class='kw'>=</span> <span class='st'>'chr1:1-100:-'</span>)) -<span class='no'>gr</span>$<span class='no'>targetname</span> <span class='kw'><-</span> <span class='st'>'AB'</span> -<span class='no'>ir</span> <span class='kw'><-</span> <span class='kw pkg'>IRanges</span><span class='kw ns'>::</span><span class='fu'><a href='https://rdrr.io/pkg/IRanges/man/IRanges-constructor.html'>IRanges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>A</span> <span class='kw'>=</span> <span class='st'>'1-10'</span>, <span class='kw'>A</span> <span class='kw'>=</span> <span class='st'>'11-20'</span>, <span class='kw'>B</span> <span class='kw'>=</span> <span class='st'>'1-10'</span>, <span class='kw'>B</span> <span class='kw'>=</span> <span class='st'>'11-20'</span>)) -<span class='fu'>extract_subranges</span>(<span class='no'>gr</span>, <span class='no'>ir</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</div><div class='img'><img src='extract_subranges-1.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 4 ranges and 1 metadata column: -#> seqnames ranges strand | targetname -#> <Rle> <IRanges> <Rle> | <character> -#> A_1 chr1 1-10 + | AB -#> A_2 chr1 11-20 + | AB -#> B_1 chr1 91-100 - | AB -#> B_2 chr1 81-90 - | AB -#> ------- -#> seqinfo: 1 sequence from an unspecified genome; no seqlengths</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Extract subranges — extract_subranges • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Extract subranges — extract_subranges" /> +<meta property="og:description" content="Extract subranges from a GRanges-class object" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Extract subranges</h1> + + <div class="hidden name"><code>extract_subranges.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Extract subranges from a <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code> object</p> + </div> + + <pre class="usage"><span class='fu'>extract_subranges</span>(<span class='no'>gr</span>, <span class='no'>ir</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>gr</th> + <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> + </tr> + <tr> + <th>ir</th> + <td><p><code><a href='https://rdrr.io/pkg/IRanges/man/IRanges-class.html'>IRanges-class</a></code>: subranges to be extracted</p></td> + </tr> + <tr> + <th>plot</th> + <td><p>TRUE or FALSE (default)</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code>.</p> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='no'>gr</span> <span class='kw'><-</span> <span class='kw pkg'>GenomicRanges</span><span class='kw ns'>::</span><span class='fu'><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>A</span> <span class='kw'>=</span> <span class='st'>'chr1:1-100:+'</span>, <span class='kw'>B</span> <span class='kw'>=</span> <span class='st'>'chr1:1-100:-'</span>)) +<span class='no'>gr</span>$<span class='no'>targetname</span> <span class='kw'><-</span> <span class='st'>'AB'</span> +<span class='no'>ir</span> <span class='kw'><-</span> <span class='kw pkg'>IRanges</span><span class='kw ns'>::</span><span class='fu'><a href='https://rdrr.io/pkg/IRanges/man/IRanges-constructor.html'>IRanges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>A</span> <span class='kw'>=</span> <span class='st'>'1-10'</span>, <span class='kw'>A</span> <span class='kw'>=</span> <span class='st'>'11-20'</span>, <span class='kw'>B</span> <span class='kw'>=</span> <span class='st'>'1-10'</span>, <span class='kw'>B</span> <span class='kw'>=</span> <span class='st'>'11-20'</span>)) +<span class='fu'>extract_subranges</span>(<span class='no'>gr</span>, <span class='no'>ir</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</div><div class='img'><img src='extract_subranges-1.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 4 ranges and 1 metadata column: +#> seqnames ranges strand | targetname +#> <Rle> <IRanges> <Rle> | <character> +#> A_1 chr1 1-10 + | AB +#> A_2 chr1 11-20 + | AB +#> B_1 chr1 91-100 - | AB +#> B_2 chr1 81-90 - | AB +#> ------- +#> seqinfo: 1 sequence from an unspecified genome; no seqlengths</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/filter_prime_specific-1.png b/public/reference/filter_prime_specific-1.png index f9eebb3779749d8050eae637fca854c586361a30..36e76a4da140c8ca4e71414a0429a1ca1f1698c8 100644 Binary files a/public/reference/filter_prime_specific-1.png and b/public/reference/filter_prime_specific-1.png differ diff --git a/public/reference/filter_prime_specific.html b/public/reference/filter_prime_specific.html index 1d4fbf2b6dbed364c893b3be01ec60264e3169dd..46bf3f7df128d3daccb1af261d29859bc9816c5d 100644 --- a/public/reference/filter_prime_specific.html +++ b/public/reference/filter_prime_specific.html @@ -1,210 +1,210 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Filter for specific prime editing spacers — filter_prime_specific • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Filter for specific prime editing spacers — filter_prime_specific" /> -<meta property="og:description" content="Filters spacers which are specific for prime editing site" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">multicrispr: gRNA design for Crispr/Cas9 and Prime Editing</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Filter for specific prime editing spacers</h1> - - <div class="hidden name"><code>filter_prime_specific.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Filters spacers which are specific for prime editing site</p> - </div> - - <pre class="usage"><span class='fu'>filter_prime_specific</span>( - <span class='no'>spacers</span>, - <span class='kw'>bsgenome</span> <span class='kw'>=</span> <span class='fu'>getBSgenome</span>(<span class='fu'>genome</span>(<span class='no'>spacers</span>)[<span class='fl'>1</span>]), - <span class='kw'>pam</span> <span class='kw'>=</span> <span class='st'>"NGG"</span>, - <span class='kw'>outdir</span> <span class='kw'>=</span> <span class='no'>OUTDIR</span>, - <span class='kw'>indexedgenomesdir</span> <span class='kw'>=</span> <span class='no'>INDEXEDGENOMESDIR</span>, - <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span> -)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>spacers</th> - <td><p>spacer <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> - </tr> - <tr> - <th>bsgenome</th> - <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> - </tr> - <tr> - <th>pam</th> - <td><p>string (default 'NGG'): pam sequence</p></td> - </tr> - <tr> - <th>outdir</th> - <td><p>string: dir to which output is written</p></td> - </tr> - <tr> - <th>indexedgenomesdir</th> - <td><p>dir with bowtie-indexed genomes</p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>TRUE (default) or FALSE</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>filtered spacer <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='co'># PE example</span> -<span class='co'>#-----------</span> - <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) - <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> - <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> - <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> - <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> - <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> - <span class='no'>bsgenome</span>) - <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_pe_spacers.html'>find_pe_spacers</a></span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>)</div><div class='img'><img src='filter_prime_specific-1.png' alt='' width='700' height='433' /></div><div class='input'> # index_genome(bsgenome) # one time effort - takes few h - # filter_prime_specific(spacers, bsgenome) -</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Filter for specific prime editing spacers — filter_prime_specific • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Filter for specific prime editing spacers — filter_prime_specific" /> +<meta property="og:description" content="Filters spacers which are specific for prime editing site" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">multicrispr: gRNA design for Crispr/Cas9 and Prime Editing</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Filter for specific prime editing spacers</h1> + + <div class="hidden name"><code>filter_prime_specific.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Filters spacers which are specific for prime editing site</p> + </div> + + <pre class="usage"><span class='fu'>filter_prime_specific</span>( + <span class='no'>spacers</span>, + <span class='kw'>bsgenome</span> <span class='kw'>=</span> <span class='fu'>getBSgenome</span>(<span class='fu'>genome</span>(<span class='no'>spacers</span>)[<span class='fl'>1</span>]), + <span class='kw'>pam</span> <span class='kw'>=</span> <span class='st'>"NGG"</span>, + <span class='kw'>outdir</span> <span class='kw'>=</span> <span class='no'>OUTDIR</span>, + <span class='kw'>indexedgenomesdir</span> <span class='kw'>=</span> <span class='no'>INDEXEDGENOMESDIR</span>, + <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span> +)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>spacers</th> + <td><p>spacer <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> + </tr> + <tr> + <th>bsgenome</th> + <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> + </tr> + <tr> + <th>pam</th> + <td><p>string (default 'NGG'): pam sequence</p></td> + </tr> + <tr> + <th>outdir</th> + <td><p>string: dir to which output is written</p></td> + </tr> + <tr> + <th>indexedgenomesdir</th> + <td><p>dir with bowtie-indexed genomes</p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>TRUE (default) or FALSE</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>filtered spacer <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='co'># PE example</span> +<span class='co'>#-----------</span> + <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) + <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> + <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> + <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> + <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> + <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> + <span class='no'>bsgenome</span>) + <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_pe_spacers.html'>find_pe_spacers</a></span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>)</div><div class='img'><img src='filter_prime_specific-1.png' alt='' width='700' height='433' /></div><div class='input'> # index_genome(bsgenome) # one time effort - takes few h + # filter_prime_specific(spacers, bsgenome) +</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/filter_target_specific-1.png b/public/reference/filter_target_specific-1.png index 2fa9dd21011d9aa61c2a5d26172ac121a09e78f3..f7ac80ffc8c47fd48735082a7978c4c3f9ab887a 100644 Binary files a/public/reference/filter_target_specific-1.png and b/public/reference/filter_target_specific-1.png differ diff --git a/public/reference/filter_target_specific-2.png b/public/reference/filter_target_specific-2.png index d9f5e72fc41de6d79da4542471713fe9f529710a..c8ec4f45e6e192df52b236e194d0d4643c337368 100644 Binary files a/public/reference/filter_target_specific-2.png and b/public/reference/filter_target_specific-2.png differ diff --git a/public/reference/filter_target_specific.html b/public/reference/filter_target_specific.html index aa84189efe486b840c5a6975989c383ed00e4646..ec56d1586d373728d7856976bbfd8d50e81b8fbe 100644 --- a/public/reference/filter_target_specific.html +++ b/public/reference/filter_target_specific.html @@ -1,234 +1,234 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Filter for target-specific spacers — add_specificity • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Filter for target-specific spacers — add_specificity" /> -<meta property="og:description" content="Filter for target-specific spacers" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">multicrispr: gRNA design for Crispr/Cas9 and Prime Editing</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Filter for target-specific spacers</h1> - - <div class="hidden name"><code>filter_target_specific.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Filter for target-specific spacers</p> - </div> - - <pre class="usage"><span class='fu'>add_specificity</span>( - <span class='no'>spacers</span>, - <span class='no'>targets</span>, - <span class='no'>bsgenome</span>, - <span class='kw'>mismatches</span> <span class='kw'>=</span> <span class='fl'>2</span>, - <span class='kw'>pam</span> <span class='kw'>=</span> <span class='st'>"NGG"</span>, - <span class='kw'>outdir</span> <span class='kw'>=</span> <span class='no'>OUTDIR</span>, - <span class='kw'>indexedgenomesdir</span> <span class='kw'>=</span> <span class='no'>INDEXEDGENOMESDIR</span>, - <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, - <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span> -) - -<span class='fu'>filter_target_specific</span>( - <span class='no'>spacers</span>, - <span class='no'>targets</span>, - <span class='kw'>bsgenome</span> <span class='kw'>=</span> <span class='fu'>getBSgenome</span>(<span class='fu'>genome</span>(<span class='no'>spacers</span>)[<span class='fl'>1</span>]), - <span class='kw'>mismatches</span> <span class='kw'>=</span> <span class='fl'>2</span>, - <span class='kw'>pam</span> <span class='kw'>=</span> <span class='st'>"NGG"</span>, - <span class='kw'>outdir</span> <span class='kw'>=</span> <span class='no'>OUTDIR</span>, - <span class='kw'>indexedgenomesdir</span> <span class='kw'>=</span> <span class='no'>INDEXEDGENOMESDIR</span>, - <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, - <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span> -)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>spacers</th> - <td><p>spacer <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> - </tr> - <tr> - <th>targets</th> - <td><p>target <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> - </tr> - <tr> - <th>bsgenome</th> - <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> - </tr> - <tr> - <th>mismatches</th> - <td><p>number (default 2): max number of mismatches to consider</p></td> - </tr> - <tr> - <th>pam</th> - <td><p>string (default 'NGG'): pam sequence</p></td> - </tr> - <tr> - <th>outdir</th> - <td><p>directory where output is written to</p></td> - </tr> - <tr> - <th>indexedgenomesdir</th> - <td><p>string: dir with indexed genomes</p></td> - </tr> - <tr> - <th>plot</th> - <td><p>TRUE (default) or FALSE</p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>TRUE (default) or FALSE</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>filtered spacer <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='co'># TFBS example</span> -<span class='co'>#-------------</span> - <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) - <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> - <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) - <span class='no'>targets</span> <span class='kw'><-</span> <span class='fu'><a href='up_flank.html'>extend</a></span>(<span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='kw'>genome</span> <span class='kw'>=</span> <span class='st'>'mm10'</span>))</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='filter_target_specific-1.png' alt='' width='700' height='433' /></div><div class='input'> <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_spacers.html'>find_spacers</a></span>(<span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='img'><img src='filter_target_specific-2.png' alt='' width='700' height='433' /></div><div class='input'> # index_genome(bsgenome) - # spacers %<>% add_specificity(targets, bsgenome) - # spacers %>% filter_target_specific(targets, bsgenome) -</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Filter for target-specific spacers — add_specificity • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Filter for target-specific spacers — add_specificity" /> +<meta property="og:description" content="Filter for target-specific spacers" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">multicrispr: gRNA design for Crispr/Cas9 and Prime Editing</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Filter for target-specific spacers</h1> + + <div class="hidden name"><code>filter_target_specific.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Filter for target-specific spacers</p> + </div> + + <pre class="usage"><span class='fu'>add_specificity</span>( + <span class='no'>spacers</span>, + <span class='no'>targets</span>, + <span class='no'>bsgenome</span>, + <span class='kw'>mismatches</span> <span class='kw'>=</span> <span class='fl'>2</span>, + <span class='kw'>pam</span> <span class='kw'>=</span> <span class='st'>"NGG"</span>, + <span class='kw'>outdir</span> <span class='kw'>=</span> <span class='no'>OUTDIR</span>, + <span class='kw'>indexedgenomesdir</span> <span class='kw'>=</span> <span class='no'>INDEXEDGENOMESDIR</span>, + <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, + <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span> +) + +<span class='fu'>filter_target_specific</span>( + <span class='no'>spacers</span>, + <span class='no'>targets</span>, + <span class='kw'>bsgenome</span> <span class='kw'>=</span> <span class='fu'>getBSgenome</span>(<span class='fu'>genome</span>(<span class='no'>spacers</span>)[<span class='fl'>1</span>]), + <span class='kw'>mismatches</span> <span class='kw'>=</span> <span class='fl'>2</span>, + <span class='kw'>pam</span> <span class='kw'>=</span> <span class='st'>"NGG"</span>, + <span class='kw'>outdir</span> <span class='kw'>=</span> <span class='no'>OUTDIR</span>, + <span class='kw'>indexedgenomesdir</span> <span class='kw'>=</span> <span class='no'>INDEXEDGENOMESDIR</span>, + <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, + <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span> +)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>spacers</th> + <td><p>spacer <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> + </tr> + <tr> + <th>targets</th> + <td><p>target <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> + </tr> + <tr> + <th>bsgenome</th> + <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> + </tr> + <tr> + <th>mismatches</th> + <td><p>number (default 2): max number of mismatches to consider</p></td> + </tr> + <tr> + <th>pam</th> + <td><p>string (default 'NGG'): pam sequence</p></td> + </tr> + <tr> + <th>outdir</th> + <td><p>directory where output is written to</p></td> + </tr> + <tr> + <th>indexedgenomesdir</th> + <td><p>string: dir with indexed genomes</p></td> + </tr> + <tr> + <th>plot</th> + <td><p>TRUE (default) or FALSE</p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>TRUE (default) or FALSE</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>filtered spacer <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='co'># TFBS example</span> +<span class='co'>#-------------</span> + <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) + <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> + <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) + <span class='no'>targets</span> <span class='kw'><-</span> <span class='fu'><a href='up_flank.html'>extend</a></span>(<span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='kw'>genome</span> <span class='kw'>=</span> <span class='st'>'mm10'</span>))</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='filter_target_specific-1.png' alt='' width='700' height='433' /></div><div class='input'> <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_spacers.html'>find_spacers</a></span>(<span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='img'><img src='filter_target_specific-2.png' alt='' width='700' height='433' /></div><div class='input'> # index_genome(bsgenome) + # spacers %<>% add_specificity(targets, bsgenome) + # spacers %>% filter_target_specific(targets, bsgenome) +</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/find_cas9ranges.html b/public/reference/find_cas9ranges.html index 4b9ff9ba6315ae40cf0ebf1cdb858c35d92982bf..5e2b1df09c36f448dffbe27296938fa328e5d5d7 100644 --- a/public/reference/find_cas9ranges.html +++ b/public/reference/find_cas9ranges.html @@ -1,197 +1,197 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Find cas9 ranges in targetranges — find_cas9ranges • multicrispr</title> - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - -<meta property="og:title" content="Find cas9 ranges in targetranges — find_cas9ranges" /> - -<meta property="og:description" content="Find cas9 ranges in targetranges" /> -<meta name="twitter:card" content="summary" /> - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/using_multicrispr.html">Using multicrispr</a> - </li> - </ul> -</li> - </ul> - - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Find cas9 ranges in targetranges</h1> - - <div class="hidden name"><code>find_cas9ranges.Rd</code></div> - </div> - - <div class="ref-description"> - - <p>Find cas9 ranges in targetranges</p> - - </div> - - <pre class="usage"><span class='fu'>find_cas9ranges</span>(<span class='no'>targetranges</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>targetranges</th> - <td><p>GenomicRanges::GRanges</p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>logical(1)</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>GenomicRanges::GRanges</p> - - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) -<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span><span class='kw'>=</span><span class='st'>'multicrispr'</span>) -<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> -<span class='no'>targetranges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>) <span class='kw'>%>%</span> <span class='fu'><a href='flank_fourways.html'>flank_fourways</a></span>()</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='output co'>#> <span class='message'> Flank fourways</span></div><div class='output co'>#> <span class='message'> 1974 left flanks : [start-200, start-1]</span></div><div class='output co'>#> <span class='message'> 1974 right flanks : [end+1, end+200]</span></div><div class='output co'>#> <span class='message'> 3948 combined (left + right)</span></div><div class='output co'>#> <span class='message'> 7896 after adding strand-complements</span></div><div class='output co'>#> <span class='message'> 7306 after merging overlaps</span></div><div class='input'><span class='fu'>find_cas9ranges</span>(<span class='no'>targetranges</span>)</div><div class='output co'>#> <span class='message'> Find N{20}NGG cas9seqs</span></div><div class='output co'>#> <span class='message'> Rm 10 targetranges with no cas9sites</span></div><div class='output co'>#> <span class='message'> 9922 cas9 seqs across 33518 targetranges</span></div><div class='output co'>#> GRanges object with 33518 ranges and 1 metadata column: -#> seqnames ranges strand | seqs -#> <Rle> <IRanges> <Rle> | <character> -#> [1] chr1 4712436-4712458 + | CTCTAGAGTCACAGAACTTATGG -#> [2] chr1 4712480-4712502 + | AATTTATTATGACTTACAGTCGG -#> [3] chr1 4712524-4712546 + | TTCAGTTGCAGCTGTGAAAATGG -#> [4] chr1 4712566-4712588 + | TTACTCAGTCTCACGCAAGCAGG -#> [5] chr1 4712650-4712672 + | GAAGGTGTAGCCCAGATTAAAGG -#> ... ... ... ... . ... -#> [33514] chrY 89126327-89126349 - | AGCGTGGACACGCCCACCCTCGG -#> [33515] chrY 89126684-89126706 - | CTTCCAGGCCCTAATAGCCGTGG -#> [33516] chrY 89126655-89126677 - | TCTGGGCATAAGCTCCCCAATGG -#> [33517] chrY 89126584-89126606 - | AAAGTCCAATCTCTCTGCTCTGG -#> [33518] chrY 89126559-89126581 - | TCAAAGCAGCTGCATTTGCTCGG -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - - <li><a href="#value">Value</a></li> - - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Find cas9 ranges in targetranges — find_cas9ranges • multicrispr</title> + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + +<meta property="og:title" content="Find cas9 ranges in targetranges — find_cas9ranges" /> + +<meta property="og:description" content="Find cas9 ranges in targetranges" /> +<meta name="twitter:card" content="summary" /> + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/using_multicrispr.html">Using multicrispr</a> + </li> + </ul> +</li> + </ul> + + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Find cas9 ranges in targetranges</h1> + + <div class="hidden name"><code>find_cas9ranges.Rd</code></div> + </div> + + <div class="ref-description"> + + <p>Find cas9 ranges in targetranges</p> + + </div> + + <pre class="usage"><span class='fu'>find_cas9ranges</span>(<span class='no'>targetranges</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>targetranges</th> + <td><p>GenomicRanges::GRanges</p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>logical(1)</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>GenomicRanges::GRanges</p> + + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) +<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span><span class='kw'>=</span><span class='st'>'multicrispr'</span>) +<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> +<span class='no'>targetranges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>) <span class='kw'>%>%</span> <span class='fu'><a href='flank_fourways.html'>flank_fourways</a></span>()</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='output co'>#> <span class='message'> Flank fourways</span></div><div class='output co'>#> <span class='message'> 1974 left flanks : [start-200, start-1]</span></div><div class='output co'>#> <span class='message'> 1974 right flanks : [end+1, end+200]</span></div><div class='output co'>#> <span class='message'> 3948 combined (left + right)</span></div><div class='output co'>#> <span class='message'> 7896 after adding strand-complements</span></div><div class='output co'>#> <span class='message'> 7306 after merging overlaps</span></div><div class='input'><span class='fu'>find_cas9ranges</span>(<span class='no'>targetranges</span>)</div><div class='output co'>#> <span class='message'> Find N{20}NGG cas9seqs</span></div><div class='output co'>#> <span class='message'> Rm 10 targetranges with no cas9sites</span></div><div class='output co'>#> <span class='message'> 9922 cas9 seqs across 33518 targetranges</span></div><div class='output co'>#> GRanges object with 33518 ranges and 1 metadata column: +#> seqnames ranges strand | seqs +#> <Rle> <IRanges> <Rle> | <character> +#> [1] chr1 4712436-4712458 + | CTCTAGAGTCACAGAACTTATGG +#> [2] chr1 4712480-4712502 + | AATTTATTATGACTTACAGTCGG +#> [3] chr1 4712524-4712546 + | TTCAGTTGCAGCTGTGAAAATGG +#> [4] chr1 4712566-4712588 + | TTACTCAGTCTCACGCAAGCAGG +#> [5] chr1 4712650-4712672 + | GAAGGTGTAGCCCAGATTAAAGG +#> ... ... ... ... . ... +#> [33514] chrY 89126327-89126349 - | AGCGTGGACACGCCCACCCTCGG +#> [33515] chrY 89126684-89126706 - | CTTCCAGGCCCTAATAGCCGTGG +#> [33516] chrY 89126655-89126677 - | TCTGGGCATAAGCTCCCCAATGG +#> [33517] chrY 89126584-89126606 - | AAAGTCCAATCTCTCTGCTCTGG +#> [33518] chrY 89126559-89126581 - | TCAAAGCAGCTGCATTTGCTCGG +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + + <li><a href="#value">Value</a></li> + + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/find_gg.html b/public/reference/find_gg.html index 5a4dc5c291435c793314f61b0d98744419b48a55..73647cf1e45e2c1dfc3c5f48fa93977444cf410e 100644 --- a/public/reference/find_gg.html +++ b/public/reference/find_gg.html @@ -1,196 +1,196 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Find GG — find_gg • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Find GG — find_gg" /> -<meta property="og:description" content="Find GG" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Find GG</h1> - - <div class="hidden name"><code>find_gg.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Find GG</p> - </div> - - <pre class="usage"><span class='fu'>find_gg</span>(<span class='no'>gr</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>gr</th> - <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='co'># PE example</span> -<span class='co'>#-----------</span> - <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) - <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> - <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> - <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> - <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> - <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> - <span class='no'>bsgenome</span>) - <span class='no'>gr</span> <span class='kw'>%<>%</span> <span class='fu'><a href='extend_pe_to_gg.html'>extend_pe_to_gg</a></span>(<span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>) <span class='kw'>%>%</span> <span class='fu'><a href='add_seq.html'>add_seq</a></span>(<span class='no'>bsgenome</span>) - <span class='fu'>find_gg</span>(<span class='no'>gr</span>)</div><div class='output co'>#> GRanges object with 10 ranges and 3 metadata columns: -#> seqnames ranges strand | targetname targetstart targetend -#> <Rle> <IRanges> <Rle> | <character> <integer> <integer> -#> [1] chr7 117559596-117559597 + | CFTR 117559593 117559595 -#> [2] chr7 117559603-117559604 - | CFTR 117559593 117559595 -#> [3] chr11 5227000-5227001 - | HBB 5227002 5227002 -#> [4] chr11 5227005-5227006 + | HBB 5227002 5227002 -#> [5] chr15 72346572-72346573 + | HEXA 72346580 72346583 -#> [6] chr15 72346579-72346580 + | HEXA 72346580 72346583 -#> [7] chr20 4699589-4699590 + | PRNP 4699600 4699600 -#> [8] chr20 4699590-4699591 + | PRNP 4699600 4699600 -#> [9] chr20 4699596-4699597 + | PRNP 4699600 4699600 -#> [10] chr20 4699599-4699600 + | PRNP 4699600 4699600 -#> ------- -#> seqinfo: 455 sequences (1 circular) from hg38 genome</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Find GG — find_gg • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Find GG — find_gg" /> +<meta property="og:description" content="Find GG" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Find GG</h1> + + <div class="hidden name"><code>find_gg.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Find GG</p> + </div> + + <pre class="usage"><span class='fu'>find_gg</span>(<span class='no'>gr</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>gr</th> + <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='co'># PE example</span> +<span class='co'>#-----------</span> + <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) + <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> + <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> + <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> + <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> + <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> + <span class='no'>bsgenome</span>) + <span class='no'>gr</span> <span class='kw'>%<>%</span> <span class='fu'><a href='extend_pe_to_gg.html'>extend_pe_to_gg</a></span>(<span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>) <span class='kw'>%>%</span> <span class='fu'><a href='add_seq.html'>add_seq</a></span>(<span class='no'>bsgenome</span>) + <span class='fu'>find_gg</span>(<span class='no'>gr</span>)</div><div class='output co'>#> GRanges object with 10 ranges and 3 metadata columns: +#> seqnames ranges strand | targetname targetstart targetend +#> <Rle> <IRanges> <Rle> | <character> <integer> <integer> +#> [1] chr7 117559596-117559597 + | CFTR 117559593 117559595 +#> [2] chr7 117559603-117559604 - | CFTR 117559593 117559595 +#> [3] chr11 5227000-5227001 - | HBB 5227002 5227002 +#> [4] chr11 5227005-5227006 + | HBB 5227002 5227002 +#> [5] chr15 72346572-72346573 + | HEXA 72346580 72346583 +#> [6] chr15 72346579-72346580 + | HEXA 72346580 72346583 +#> [7] chr20 4699589-4699590 + | PRNP 4699600 4699600 +#> [8] chr20 4699590-4699591 + | PRNP 4699600 4699600 +#> [9] chr20 4699596-4699597 + | PRNP 4699600 4699600 +#> [10] chr20 4699599-4699600 + | PRNP 4699600 4699600 +#> ------- +#> seqinfo: 455 sequences (1 circular) from hg38 genome</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/find_pe_spacers-1.png b/public/reference/find_pe_spacers-1.png index f9eebb3779749d8050eae637fca854c586361a30..36e76a4da140c8ca4e71414a0429a1ca1f1698c8 100644 Binary files a/public/reference/find_pe_spacers-1.png and b/public/reference/find_pe_spacers-1.png differ diff --git a/public/reference/find_pe_spacers-2.png b/public/reference/find_pe_spacers-2.png index 81a9f5c744b832c768da6574277f3b600d569f4c..3ad37c1bb7faa30d9dd2254ffe54ca918721a6b0 100644 Binary files a/public/reference/find_pe_spacers-2.png and b/public/reference/find_pe_spacers-2.png differ diff --git a/public/reference/find_pe_spacers-3.png b/public/reference/find_pe_spacers-3.png index 81a9f5c744b832c768da6574277f3b600d569f4c..3ad37c1bb7faa30d9dd2254ffe54ca918721a6b0 100644 Binary files a/public/reference/find_pe_spacers-3.png and b/public/reference/find_pe_spacers-3.png differ diff --git a/public/reference/find_pe_spacers.html b/public/reference/find_pe_spacers.html index 8e93c7c5b9f439f8179ea51ccebdc31740af9690..3dddab20e7a85e80b5437ed0a793e5bf39a553fc 100644 --- a/public/reference/find_pe_spacers.html +++ b/public/reference/find_pe_spacers.html @@ -1,293 +1,293 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Find prime editing spacers — find_pe_spacers • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Find prime editing spacers — find_pe_spacers" /> -<meta property="og:description" content="Find prime editing spacers around target ranges" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Find prime editing spacers</h1> - - <div class="hidden name"><code>find_pe_spacers.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Find prime editing spacers around target ranges</p> - </div> - - <pre class="usage"><span class='fu'>find_pe_spacers</span>( - <span class='no'>gr</span>, - <span class='no'>bsgenome</span>, - <span class='kw'>fixes</span> <span class='kw'>=</span> <span class='fu'>get_plus_seq</span>(<span class='no'>bsgenome</span>, <span class='no'>gr</span>), - <span class='kw'>nprimer</span> <span class='kw'>=</span> <span class='fl'>13</span>, - <span class='kw'>nrt</span> <span class='kw'>=</span> <span class='fl'>16</span>, - <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span> -)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>gr</th> - <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> - </tr> - <tr> - <th>bsgenome</th> - <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> - </tr> - <tr> - <th>fixes</th> - <td><p>character vector: '+' strand fix seqs</p></td> - </tr> - <tr> - <th>nprimer</th> - <td><p>n primer nucleotides (default 13, max 17)</p></td> - </tr> - <tr> - <th>nrt</th> - <td><p>n rev transcr nucleotides (default 16, recomm. 10-16)</p></td> - </tr> - <tr> - <th>plot</th> - <td><p>TRUE (default) or FALSE</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code> with PE spacer ranges -Each prime editing range is defined in terms of its N20NGG spacer. -Additionally, three sequence mcols are returned: - * spacer: N20 spacers - * pam: NGG PAMs - * 3pext: 3' extension of gRNA (RTtemplate + primerbindingsite)</p> - <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2> - - <p>Below the architecture of a prime editing site. -Fixes can be performed anywhere in the revtranscript area.</p> -<p>spacer pam - --------------------=== - primer revtranscript - -------------================ - 1..............17....GG.......... - .....................CC.......... - ----------extension----------</p> - <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2> - - <div class='dont-index'><p><code><a href='find_spacers.html'>find_spacers</a></code> to find standard crispr sites</p></div> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='co'># PE example</span> -<span class='co'>#-----------</span> - <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) - <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> - <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> - <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> - <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> - <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> - <span class='no'>bsgenome</span>) - <span class='fu'>find_pe_spacers</span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>)</div><div class='img'><img src='find_pe_spacers-1.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 10 ranges and 9 metadata columns: -#> seqnames ranges strand | targetname targetstart -#> <Rle> <IRanges> <Rle> | <character> <integer> -#> CFTR_1 chr7 117559575-117559594 + | CFTR 117559593 -#> CFTR_2 chr7 117559606-117559625 - | CFTR 117559593 -#> HBB_1 chr11 5227003-5227022 - | HBB 5227002 -#> HBB_2 chr11 5226984-5227003 + | HBB 5227002 -#> HEXA_1 chr15 72346551-72346570 + | HEXA 72346580 -#> HEXA_2 chr15 72346558-72346577 + | HEXA 72346580 -#> PRNP_1 chr20 4699568-4699587 + | PRNP 4699600 -#> PRNP_2 chr20 4699569-4699588 + | PRNP 4699600 -#> PRNP_3 chr20 4699575-4699594 + | PRNP 4699600 -#> PRNP_4 chr20 4699578-4699597 + | PRNP 4699600 -#> targetend crisprname crisprspacer crisprpam primer -#> <integer> <character> <character> <character> <character> -#> CFTR_1 117559595 CFTR_1 ATTAAAGAAAATATCATCTT TGG AAGAAAATATCAT -#> CFTR_2 117559595 CFTR_2 TCTGTATCTATATTCATCAT AGG TATCTATATTCAT -#> HBB_1 5227002 HBB_1 CATGGTGCATCTGACTCCTG AGG GTGCATCTGACTC -#> HBB_2 5227002 HBB_2 GTAACGGCAGACTTCTCCTC AGG CGGCAGACTTCTC -#> HEXA_1 72346583 HEXA_1 TGTAGAAATCCTTCCAGTCA GGG GAAATCCTTCCAG -#> HEXA_2 72346583 HEXA_2 ATCCTTCCAGTCAGGGCCAT AGG TTCCAGTCAGGGC -#> PRNP_1 4699600 PRNP_1 AGCAGCTGGGGCAGTGGTGG GGG GCTGGGGCAGTGG -#> PRNP_2 4699600 PRNP_2 GCAGCTGGGGCAGTGGTGGG GGG CTGGGGCAGTGGT -#> PRNP_3 4699600 PRNP_3 GGGGCAGTGGTGGGGGGCCT TGG CAGTGGTGGGGGG -#> PRNP_4 4699600 PRNP_4 GCAGTGGTGGGGGGCCTTGG CGG TGGTGGGGGGCCT -#> revtranscript extension -#> <character> <character> -#> CFTR_1 CTTTGGTGTTTCCTAT ATAGGAAACACCAAAGATGATATTTTCTT -#> CFTR_2 CATAGGAAACACCAAA TTTGGTGTTTCCTATGATGAATATAGATA -#> HBB_1 CTGAGGAGAAGTCTGC GCAGACTTCTCCTCAGGAGTCAGATGCAC -#> HBB_2 CTCAGGAGTCAGATGC GCATCTGACTCCTGAGGAGAAGTCTGCCG -#> HEXA_1 TCAGGGCCATAGGATA TATCCTATGGCCCTGACTGGAAGGATTTC -#> HEXA_2 CATAGGATATACGGTT AACCGTATATCCTATGGCCCTGACTGGAA -#> PRNP_1 TGGGGGGCCTTGGCGG CCGCCAAGGCCCCCCACCACTGCCCCAGC -#> PRNP_2 GGGGGGCCTTGGCGGC GCCGCCAAGGCCCCCCACCACTGCCCCAG -#> PRNP_3 CCTTGGCGGCTACATG CATGTAGCCGCCAAGGCCCCCCACCACTG -#> PRNP_4 TGGCGGCTACATGCTG CAGCATGTAGCCGCCAAGGCCCCCCACCA -#> ------- -#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'> <span class='fu'><a href='find_spacers.html'>find_spacers</a></span>(<span class='fu'><a href='extend_for_pe.html'>extend_for_pe</a></span>(<span class='no'>gr</span>), <span class='no'>bsgenome</span>, <span class='kw'>complement</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>)</div><div class='img'><img src='find_pe_spacers-2.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 10 ranges and 6 metadata columns: -#> seqnames ranges strand | targetname targetstart -#> <Rle> <IRanges> <Rle> | <character> <integer> -#> CFTR_f chr7 117559575-117559594 + | CFTR 117559593 -#> CFTR_r chr7 117559606-117559625 - | CFTR 117559593 -#> HBB_f chr11 5226984-5227003 + | HBB 5227002 -#> HBB_r chr11 5227003-5227022 - | HBB 5227002 -#> HEXA_f_1 chr15 72346551-72346570 + | HEXA 72346580 -#> HEXA_f_2 chr15 72346558-72346577 + | HEXA 72346580 -#> PRNP_f_1 chr20 4699568-4699587 + | PRNP 4699600 -#> PRNP_f_2 chr20 4699569-4699588 + | PRNP 4699600 -#> PRNP_f_3 chr20 4699575-4699594 + | PRNP 4699600 -#> PRNP_f_4 chr20 4699578-4699597 + | PRNP 4699600 -#> targetend crisprname crisprspacer crisprpam -#> <integer> <character> <character> <character> -#> CFTR_f 117559595 CFTR_f ATTAAAGAAAATATCATCTT TGG -#> CFTR_r 117559595 CFTR_r TCTGTATCTATATTCATCAT AGG -#> HBB_f 5227002 HBB_f GTAACGGCAGACTTCTCCTC AGG -#> HBB_r 5227002 HBB_r CATGGTGCATCTGACTCCTG AGG -#> HEXA_f_1 72346583 HEXA_f_1 TGTAGAAATCCTTCCAGTCA GGG -#> HEXA_f_2 72346583 HEXA_f_2 ATCCTTCCAGTCAGGGCCAT AGG -#> PRNP_f_1 4699600 PRNP_f_1 AGCAGCTGGGGCAGTGGTGG GGG -#> PRNP_f_2 4699600 PRNP_f_2 GCAGCTGGGGCAGTGGTGGG GGG -#> PRNP_f_3 4699600 PRNP_f_3 GGGGCAGTGGTGGGGGGCCT TGG -#> PRNP_f_4 4699600 PRNP_f_4 GCAGTGGTGGGGGGCCTTGG CGG -#> ------- -#> seqinfo: 455 sequences (1 circular) from hg38 genome</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#details">Details</a></li> - <li><a href="#see-also">See also</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Find prime editing spacers — find_pe_spacers • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Find prime editing spacers — find_pe_spacers" /> +<meta property="og:description" content="Find prime editing spacers around target ranges" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Find prime editing spacers</h1> + + <div class="hidden name"><code>find_pe_spacers.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Find prime editing spacers around target ranges</p> + </div> + + <pre class="usage"><span class='fu'>find_pe_spacers</span>( + <span class='no'>gr</span>, + <span class='no'>bsgenome</span>, + <span class='kw'>fixes</span> <span class='kw'>=</span> <span class='fu'>get_plus_seq</span>(<span class='no'>bsgenome</span>, <span class='no'>gr</span>), + <span class='kw'>nprimer</span> <span class='kw'>=</span> <span class='fl'>13</span>, + <span class='kw'>nrt</span> <span class='kw'>=</span> <span class='fl'>16</span>, + <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span> +)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>gr</th> + <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> + </tr> + <tr> + <th>bsgenome</th> + <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> + </tr> + <tr> + <th>fixes</th> + <td><p>character vector: '+' strand fix seqs</p></td> + </tr> + <tr> + <th>nprimer</th> + <td><p>n primer nucleotides (default 13, max 17)</p></td> + </tr> + <tr> + <th>nrt</th> + <td><p>n rev transcr nucleotides (default 16, recomm. 10-16)</p></td> + </tr> + <tr> + <th>plot</th> + <td><p>TRUE (default) or FALSE</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code> with PE spacer ranges +Each prime editing range is defined in terms of its N20NGG spacer. +Additionally, three sequence mcols are returned: + * spacer: N20 spacers + * pam: NGG PAMs + * 3pext: 3' extension of gRNA (RTtemplate + primerbindingsite)</p> + <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2> + + <p>Below the architecture of a prime editing site. +Fixes can be performed anywhere in the revtranscript area.</p> +<p>spacer pam + --------------------=== + primer revtranscript + -------------================ + 1..............17....GG.......... + .....................CC.......... + ----------extension----------</p> + <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2> + + <div class='dont-index'><p><code><a href='find_spacers.html'>find_spacers</a></code> to find standard crispr sites</p></div> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='co'># PE example</span> +<span class='co'>#-----------</span> + <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) + <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> + <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> + <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> + <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> + <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> + <span class='no'>bsgenome</span>) + <span class='fu'>find_pe_spacers</span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>)</div><div class='img'><img src='find_pe_spacers-1.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 10 ranges and 9 metadata columns: +#> seqnames ranges strand | targetname targetstart +#> <Rle> <IRanges> <Rle> | <character> <integer> +#> CFTR_1 chr7 117559575-117559594 + | CFTR 117559593 +#> CFTR_2 chr7 117559606-117559625 - | CFTR 117559593 +#> HBB_1 chr11 5227003-5227022 - | HBB 5227002 +#> HBB_2 chr11 5226984-5227003 + | HBB 5227002 +#> HEXA_1 chr15 72346551-72346570 + | HEXA 72346580 +#> HEXA_2 chr15 72346558-72346577 + | HEXA 72346580 +#> PRNP_1 chr20 4699568-4699587 + | PRNP 4699600 +#> PRNP_2 chr20 4699569-4699588 + | PRNP 4699600 +#> PRNP_3 chr20 4699575-4699594 + | PRNP 4699600 +#> PRNP_4 chr20 4699578-4699597 + | PRNP 4699600 +#> targetend crisprname crisprspacer crisprpam primer +#> <integer> <character> <character> <character> <character> +#> CFTR_1 117559595 CFTR_1 ATTAAAGAAAATATCATCTT TGG AAGAAAATATCAT +#> CFTR_2 117559595 CFTR_2 TCTGTATCTATATTCATCAT AGG TATCTATATTCAT +#> HBB_1 5227002 HBB_1 CATGGTGCATCTGACTCCTG AGG GTGCATCTGACTC +#> HBB_2 5227002 HBB_2 GTAACGGCAGACTTCTCCTC AGG CGGCAGACTTCTC +#> HEXA_1 72346583 HEXA_1 TGTAGAAATCCTTCCAGTCA GGG GAAATCCTTCCAG +#> HEXA_2 72346583 HEXA_2 ATCCTTCCAGTCAGGGCCAT AGG TTCCAGTCAGGGC +#> PRNP_1 4699600 PRNP_1 AGCAGCTGGGGCAGTGGTGG GGG GCTGGGGCAGTGG +#> PRNP_2 4699600 PRNP_2 GCAGCTGGGGCAGTGGTGGG GGG CTGGGGCAGTGGT +#> PRNP_3 4699600 PRNP_3 GGGGCAGTGGTGGGGGGCCT TGG CAGTGGTGGGGGG +#> PRNP_4 4699600 PRNP_4 GCAGTGGTGGGGGGCCTTGG CGG TGGTGGGGGGCCT +#> revtranscript extension +#> <character> <character> +#> CFTR_1 CTTTGGTGTTTCCTAT ATAGGAAACACCAAAGATGATATTTTCTT +#> CFTR_2 CATAGGAAACACCAAA TTTGGTGTTTCCTATGATGAATATAGATA +#> HBB_1 CTGAGGAGAAGTCTGC GCAGACTTCTCCTCAGGAGTCAGATGCAC +#> HBB_2 CTCAGGAGTCAGATGC GCATCTGACTCCTGAGGAGAAGTCTGCCG +#> HEXA_1 TCAGGGCCATAGGATA TATCCTATGGCCCTGACTGGAAGGATTTC +#> HEXA_2 CATAGGATATACGGTT AACCGTATATCCTATGGCCCTGACTGGAA +#> PRNP_1 TGGGGGGCCTTGGCGG CCGCCAAGGCCCCCCACCACTGCCCCAGC +#> PRNP_2 GGGGGGCCTTGGCGGC GCCGCCAAGGCCCCCCACCACTGCCCCAG +#> PRNP_3 CCTTGGCGGCTACATG CATGTAGCCGCCAAGGCCCCCCACCACTG +#> PRNP_4 TGGCGGCTACATGCTG CAGCATGTAGCCGCCAAGGCCCCCCACCA +#> ------- +#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'> <span class='fu'><a href='find_spacers.html'>find_spacers</a></span>(<span class='fu'><a href='extend_for_pe.html'>extend_for_pe</a></span>(<span class='no'>gr</span>), <span class='no'>bsgenome</span>, <span class='kw'>complement</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>)</div><div class='img'><img src='find_pe_spacers-2.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 10 ranges and 6 metadata columns: +#> seqnames ranges strand | targetname targetstart +#> <Rle> <IRanges> <Rle> | <character> <integer> +#> CFTR_f chr7 117559575-117559594 + | CFTR 117559593 +#> CFTR_r chr7 117559606-117559625 - | CFTR 117559593 +#> HBB_f chr11 5226984-5227003 + | HBB 5227002 +#> HBB_r chr11 5227003-5227022 - | HBB 5227002 +#> HEXA_f_1 chr15 72346551-72346570 + | HEXA 72346580 +#> HEXA_f_2 chr15 72346558-72346577 + | HEXA 72346580 +#> PRNP_f_1 chr20 4699568-4699587 + | PRNP 4699600 +#> PRNP_f_2 chr20 4699569-4699588 + | PRNP 4699600 +#> PRNP_f_3 chr20 4699575-4699594 + | PRNP 4699600 +#> PRNP_f_4 chr20 4699578-4699597 + | PRNP 4699600 +#> targetend crisprname crisprspacer crisprpam +#> <integer> <character> <character> <character> +#> CFTR_f 117559595 CFTR_f ATTAAAGAAAATATCATCTT TGG +#> CFTR_r 117559595 CFTR_r TCTGTATCTATATTCATCAT AGG +#> HBB_f 5227002 HBB_f GTAACGGCAGACTTCTCCTC AGG +#> HBB_r 5227002 HBB_r CATGGTGCATCTGACTCCTG AGG +#> HEXA_f_1 72346583 HEXA_f_1 TGTAGAAATCCTTCCAGTCA GGG +#> HEXA_f_2 72346583 HEXA_f_2 ATCCTTCCAGTCAGGGCCAT AGG +#> PRNP_f_1 4699600 PRNP_f_1 AGCAGCTGGGGCAGTGGTGG GGG +#> PRNP_f_2 4699600 PRNP_f_2 GCAGCTGGGGCAGTGGTGGG GGG +#> PRNP_f_3 4699600 PRNP_f_3 GGGGCAGTGGTGGGGGGCCT TGG +#> PRNP_f_4 4699600 PRNP_f_4 GCAGTGGTGGGGGGCCTTGG CGG +#> ------- +#> seqinfo: 455 sequences (1 circular) from hg38 genome</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#details">Details</a></li> + <li><a href="#see-also">See also</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/find_spacers-1.png b/public/reference/find_spacers-1.png index 8480b1e58cf3005cb8362f3ee9fb35e1d7ee9104..13824c688c0e8701605708f86a96227f54cb8549 100644 Binary files a/public/reference/find_spacers-1.png and b/public/reference/find_spacers-1.png differ diff --git a/public/reference/find_spacers-2.png b/public/reference/find_spacers-2.png index f9eebb3779749d8050eae637fca854c586361a30..36e76a4da140c8ca4e71414a0429a1ca1f1698c8 100644 Binary files a/public/reference/find_spacers-2.png and b/public/reference/find_spacers-2.png differ diff --git a/public/reference/find_spacers-3.png b/public/reference/find_spacers-3.png index 81a9f5c744b832c768da6574277f3b600d569f4c..3ad37c1bb7faa30d9dd2254ffe54ca918721a6b0 100644 Binary files a/public/reference/find_spacers-3.png and b/public/reference/find_spacers-3.png differ diff --git a/public/reference/find_spacers-4.png b/public/reference/find_spacers-4.png index 2fa9dd21011d9aa61c2a5d26172ac121a09e78f3..f7ac80ffc8c47fd48735082a7978c4c3f9ab887a 100644 Binary files a/public/reference/find_spacers-4.png and b/public/reference/find_spacers-4.png differ diff --git a/public/reference/find_spacers-5.png b/public/reference/find_spacers-5.png index d9f5e72fc41de6d79da4542471713fe9f529710a..c8ec4f45e6e192df52b236e194d0d4643c337368 100644 Binary files a/public/reference/find_spacers-5.png and b/public/reference/find_spacers-5.png differ diff --git a/public/reference/find_spacers-6.png b/public/reference/find_spacers-6.png index d9f5e72fc41de6d79da4542471713fe9f529710a..c8ec4f45e6e192df52b236e194d0d4643c337368 100644 Binary files a/public/reference/find_spacers-6.png and b/public/reference/find_spacers-6.png differ diff --git a/public/reference/find_spacers.html b/public/reference/find_spacers.html index 77988bd40022a4acf55b1c564318f521cad4b3a1..a8372231e378a8766943581c34050e77066a3409 100644 --- a/public/reference/find_spacers.html +++ b/public/reference/find_spacers.html @@ -1,330 +1,330 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Find crispr spacers in targetranges — find_spacers • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Find crispr spacers in targetranges — find_spacers" /> -<meta property="og:description" content="Find crispr spacers in targetranges" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Find crispr spacers in targetranges</h1> - - <div class="hidden name"><code>find_spacers.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Find crispr spacers in targetranges</p> - </div> - - <pre class="usage"><span class='fu'>find_spacers</span>( - <span class='no'>gr</span>, - <span class='no'>bsgenome</span>, - <span class='kw'>spacer</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/strrep.html'>strrep</a></span>(<span class='st'>"N"</span>, <span class='fl'>20</span>), - <span class='kw'>pam</span> <span class='kw'>=</span> <span class='st'>"NGG"</span>, - <span class='kw'>complement</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, - <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, - <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span> -)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>gr</th> - <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> - </tr> - <tr> - <th>bsgenome</th> - <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> - </tr> - <tr> - <th>spacer</th> - <td><p>string: spacer pattern in extended IUPAC alphabet</p></td> - </tr> - <tr> - <th>pam</th> - <td><p>string: pam pattern in extended IUPAC alphabet</p></td> - </tr> - <tr> - <th>complement</th> - <td><p>TRUE (default) or FALSE: also search in compl ranges?</p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>TRUE (default) or FALSE</p></td> - </tr> - <tr> - <th>plot</th> - <td><p>TRUE (default) or FALSE</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> - <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2> - - <div class='dont-index'><p><code><a href='find_pe_spacers.html'>find_pe_spacers</a></code> to find prime editing spacers</p></div> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='co'># PE example</span> -<span class='co'>#-----------</span> - <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) - <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> - <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> - <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> - <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> - <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> - <span class='no'>bsgenome</span>) - <span class='fu'><a href='plot_intervals.html'>plot_intervals</a></span>(<span class='no'>gr</span>)</div><div class='img'><img src='find_spacers-1.png' alt='' width='700' height='433' /></div><div class='input'> <span class='fu'><a href='find_pe_spacers.html'>find_pe_spacers</a></span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>)</div><div class='img'><img src='find_spacers-2.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 10 ranges and 9 metadata columns: -#> seqnames ranges strand | targetname targetstart -#> <Rle> <IRanges> <Rle> | <character> <integer> -#> CFTR_1 chr7 117559575-117559594 + | CFTR 117559593 -#> CFTR_2 chr7 117559606-117559625 - | CFTR 117559593 -#> HBB_1 chr11 5227003-5227022 - | HBB 5227002 -#> HBB_2 chr11 5226984-5227003 + | HBB 5227002 -#> HEXA_1 chr15 72346551-72346570 + | HEXA 72346580 -#> HEXA_2 chr15 72346558-72346577 + | HEXA 72346580 -#> PRNP_1 chr20 4699568-4699587 + | PRNP 4699600 -#> PRNP_2 chr20 4699569-4699588 + | PRNP 4699600 -#> PRNP_3 chr20 4699575-4699594 + | PRNP 4699600 -#> PRNP_4 chr20 4699578-4699597 + | PRNP 4699600 -#> targetend crisprname crisprspacer crisprpam primer -#> <integer> <character> <character> <character> <character> -#> CFTR_1 117559595 CFTR_1 ATTAAAGAAAATATCATCTT TGG AAGAAAATATCAT -#> CFTR_2 117559595 CFTR_2 TCTGTATCTATATTCATCAT AGG TATCTATATTCAT -#> HBB_1 5227002 HBB_1 CATGGTGCATCTGACTCCTG AGG GTGCATCTGACTC -#> HBB_2 5227002 HBB_2 GTAACGGCAGACTTCTCCTC AGG CGGCAGACTTCTC -#> HEXA_1 72346583 HEXA_1 TGTAGAAATCCTTCCAGTCA GGG GAAATCCTTCCAG -#> HEXA_2 72346583 HEXA_2 ATCCTTCCAGTCAGGGCCAT AGG TTCCAGTCAGGGC -#> PRNP_1 4699600 PRNP_1 AGCAGCTGGGGCAGTGGTGG GGG GCTGGGGCAGTGG -#> PRNP_2 4699600 PRNP_2 GCAGCTGGGGCAGTGGTGGG GGG CTGGGGCAGTGGT -#> PRNP_3 4699600 PRNP_3 GGGGCAGTGGTGGGGGGCCT TGG CAGTGGTGGGGGG -#> PRNP_4 4699600 PRNP_4 GCAGTGGTGGGGGGCCTTGG CGG TGGTGGGGGGCCT -#> revtranscript extension -#> <character> <character> -#> CFTR_1 CTTTGGTGTTTCCTAT ATAGGAAACACCAAAGATGATATTTTCTT -#> CFTR_2 CATAGGAAACACCAAA TTTGGTGTTTCCTATGATGAATATAGATA -#> HBB_1 CTGAGGAGAAGTCTGC GCAGACTTCTCCTCAGGAGTCAGATGCAC -#> HBB_2 CTCAGGAGTCAGATGC GCATCTGACTCCTGAGGAGAAGTCTGCCG -#> HEXA_1 TCAGGGCCATAGGATA TATCCTATGGCCCTGACTGGAAGGATTTC -#> HEXA_2 CATAGGATATACGGTT AACCGTATATCCTATGGCCCTGACTGGAA -#> PRNP_1 TGGGGGGCCTTGGCGG CCGCCAAGGCCCCCCACCACTGCCCCAGC -#> PRNP_2 GGGGGGCCTTGGCGGC GCCGCCAAGGCCCCCCACCACTGCCCCAG -#> PRNP_3 CCTTGGCGGCTACATG CATGTAGCCGCCAAGGCCCCCCACCACTG -#> PRNP_4 TGGCGGCTACATGCTG CAGCATGTAGCCGCCAAGGCCCCCCACCA -#> ------- -#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'> <span class='fu'>find_spacers</span>(<span class='fu'><a href='extend_for_pe.html'>extend_for_pe</a></span>(<span class='no'>gr</span>), <span class='no'>bsgenome</span>, <span class='kw'>complement</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>)</div><div class='img'><img src='find_spacers-3.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 10 ranges and 6 metadata columns: -#> seqnames ranges strand | targetname targetstart -#> <Rle> <IRanges> <Rle> | <character> <integer> -#> CFTR_f chr7 117559575-117559594 + | CFTR 117559593 -#> CFTR_r chr7 117559606-117559625 - | CFTR 117559593 -#> HBB_f chr11 5226984-5227003 + | HBB 5227002 -#> HBB_r chr11 5227003-5227022 - | HBB 5227002 -#> HEXA_f_1 chr15 72346551-72346570 + | HEXA 72346580 -#> HEXA_f_2 chr15 72346558-72346577 + | HEXA 72346580 -#> PRNP_f_1 chr20 4699568-4699587 + | PRNP 4699600 -#> PRNP_f_2 chr20 4699569-4699588 + | PRNP 4699600 -#> PRNP_f_3 chr20 4699575-4699594 + | PRNP 4699600 -#> PRNP_f_4 chr20 4699578-4699597 + | PRNP 4699600 -#> targetend crisprname crisprspacer crisprpam -#> <integer> <character> <character> <character> -#> CFTR_f 117559595 CFTR_f ATTAAAGAAAATATCATCTT TGG -#> CFTR_r 117559595 CFTR_r TCTGTATCTATATTCATCAT AGG -#> HBB_f 5227002 HBB_f GTAACGGCAGACTTCTCCTC AGG -#> HBB_r 5227002 HBB_r CATGGTGCATCTGACTCCTG AGG -#> HEXA_f_1 72346583 HEXA_f_1 TGTAGAAATCCTTCCAGTCA GGG -#> HEXA_f_2 72346583 HEXA_f_2 ATCCTTCCAGTCAGGGCCAT AGG -#> PRNP_f_1 4699600 PRNP_f_1 AGCAGCTGGGGCAGTGGTGG GGG -#> PRNP_f_2 4699600 PRNP_f_2 GCAGCTGGGGCAGTGGTGGG GGG -#> PRNP_f_3 4699600 PRNP_f_3 GGGGCAGTGGTGGGGGGCCT TGG -#> PRNP_f_4 4699600 PRNP_f_4 GCAGTGGTGGGGGGCCTTGG CGG -#> ------- -#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'> <span class='co'># complement = FALSE because extend_for_pe already </span> - <span class='co'># adds reverse complements and does so in a strand-specific </span> - <span class='co'># manner</span> - -<span class='co'># TFBS example</span> -<span class='co'>#-------------</span> - <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> - <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span><span class='kw'>=</span><span class='st'>'multicrispr'</span>) - <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='st'>'mm10'</span>) <span class='kw'>%>%</span> <span class='fu'><a href='up_flank.html'>extend</a></span>()</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='find_spacers-4.png' alt='' width='700' height='433' /></div><div class='input'> <span class='fu'>find_spacers</span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='img'><img src='find_spacers-5.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 10159 ranges and 8 metadata columns: -#> seqnames ranges strand | name score -#> <Rle> <IRanges> <Rle> | <character> <numeric> -#> T0001_r_5 chr1 4712619-4712638 - | SRF_MA0083.3 10.49542 -#> T0001_r_4 chr1 4712620-4712639 - | SRF_MA0083.3 10.49542 -#> T0001_r_3 chr1 4712627-4712646 - | SRF_MA0083.3 10.49542 -#> T0001_r_2 chr1 4712633-4712652 - | SRF_MA0083.3 10.49542 -#> T0001_r_1 chr1 4712634-4712653 - | SRF_MA0083.3 10.49542 -#> ... ... ... ... . ... ... -#> T1974_r_3 chrY 89126492-89126511 - | SRF_MA0083.3 4.54393 -#> T1974_f_3 chrY 89126496-89126515 + | SRF_MA0083.3 4.54393 -#> T1974_r_2 chrY 89126499-89126518 - | SRF_MA0083.3 4.54393 -#> T1974_r_1 chrY 89126500-89126519 - | SRF_MA0083.3 4.54393 -#> T1974_f_4 chrY 89126501-89126520 + | SRF_MA0083.3 4.54393 -#> targetname targetstart targetend crisprname crisprspacer -#> <character> <integer> <integer> <character> <character> -#> T0001_r_5 T0001 4712628 4712643 T0001_r_5 ATATAAGGGCATTGGAAGAA -#> T0001_r_4 T0001 4712628 4712643 T0001_r_4 AATATAAGGGCATTGGAAGA -#> T0001_r_3 T0001 4712628 4712643 T0001_r_3 TGGAGACAATATAAGGGCAT -#> T0001_r_2 T0001 4712628 4712643 T0001_r_2 TTCTGCTGGAGACAATATAA -#> T0001_r_1 T0001 4712628 4712643 T0001_r_1 CTTCTGCTGGAGACAATATA -#> ... ... ... ... ... ... -#> T1974_r_3 T1974 89126494 89126509 T1974_r_3 TTTGCCCATACTAGGGAGAG -#> T1974_f_3 T1974 89126494 89126509 T1974_f_3 CCCTAGTATGGGCAAATATA -#> T1974_r_2 T1974 89126494 89126509 T1974_r_2 CCATATATTTGCCCATACTA -#> T1974_r_1 T1974 89126494 89126509 T1974_r_1 TCCATATATTTGCCCATACT -#> T1974_f_4 T1974 89126494 89126509 T1974_f_4 GTATGGGCAAATATATGGAA -#> crisprpam -#> <character> -#> T0001_r_5 GGG -#> T0001_r_4 AGG -#> T0001_r_3 TGG -#> T0001_r_2 GGG -#> T0001_r_1 AGG -#> ... ... -#> T1974_r_3 CGG -#> T1974_f_3 TGG -#> T1974_r_2 GGG -#> T1974_r_1 AGG -#> T1974_f_4 TGG -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#see-also">See also</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Find crispr spacers in targetranges — find_spacers • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Find crispr spacers in targetranges — find_spacers" /> +<meta property="og:description" content="Find crispr spacers in targetranges" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Find crispr spacers in targetranges</h1> + + <div class="hidden name"><code>find_spacers.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Find crispr spacers in targetranges</p> + </div> + + <pre class="usage"><span class='fu'>find_spacers</span>( + <span class='no'>gr</span>, + <span class='no'>bsgenome</span>, + <span class='kw'>spacer</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/strrep.html'>strrep</a></span>(<span class='st'>"N"</span>, <span class='fl'>20</span>), + <span class='kw'>pam</span> <span class='kw'>=</span> <span class='st'>"NGG"</span>, + <span class='kw'>complement</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, + <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, + <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span> +)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>gr</th> + <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> + </tr> + <tr> + <th>bsgenome</th> + <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> + </tr> + <tr> + <th>spacer</th> + <td><p>string: spacer pattern in extended IUPAC alphabet</p></td> + </tr> + <tr> + <th>pam</th> + <td><p>string: pam pattern in extended IUPAC alphabet</p></td> + </tr> + <tr> + <th>complement</th> + <td><p>TRUE (default) or FALSE: also search in compl ranges?</p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>TRUE (default) or FALSE</p></td> + </tr> + <tr> + <th>plot</th> + <td><p>TRUE (default) or FALSE</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> + <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2> + + <div class='dont-index'><p><code><a href='find_pe_spacers.html'>find_pe_spacers</a></code> to find prime editing spacers</p></div> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='co'># PE example</span> +<span class='co'>#-----------</span> + <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) + <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> + <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> + <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> + <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> + <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> + <span class='no'>bsgenome</span>) + <span class='fu'><a href='plot_intervals.html'>plot_intervals</a></span>(<span class='no'>gr</span>)</div><div class='img'><img src='find_spacers-1.png' alt='' width='700' height='433' /></div><div class='input'> <span class='fu'><a href='find_pe_spacers.html'>find_pe_spacers</a></span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>)</div><div class='img'><img src='find_spacers-2.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 10 ranges and 9 metadata columns: +#> seqnames ranges strand | targetname targetstart +#> <Rle> <IRanges> <Rle> | <character> <integer> +#> CFTR_1 chr7 117559575-117559594 + | CFTR 117559593 +#> CFTR_2 chr7 117559606-117559625 - | CFTR 117559593 +#> HBB_1 chr11 5227003-5227022 - | HBB 5227002 +#> HBB_2 chr11 5226984-5227003 + | HBB 5227002 +#> HEXA_1 chr15 72346551-72346570 + | HEXA 72346580 +#> HEXA_2 chr15 72346558-72346577 + | HEXA 72346580 +#> PRNP_1 chr20 4699568-4699587 + | PRNP 4699600 +#> PRNP_2 chr20 4699569-4699588 + | PRNP 4699600 +#> PRNP_3 chr20 4699575-4699594 + | PRNP 4699600 +#> PRNP_4 chr20 4699578-4699597 + | PRNP 4699600 +#> targetend crisprname crisprspacer crisprpam primer +#> <integer> <character> <character> <character> <character> +#> CFTR_1 117559595 CFTR_1 ATTAAAGAAAATATCATCTT TGG AAGAAAATATCAT +#> CFTR_2 117559595 CFTR_2 TCTGTATCTATATTCATCAT AGG TATCTATATTCAT +#> HBB_1 5227002 HBB_1 CATGGTGCATCTGACTCCTG AGG GTGCATCTGACTC +#> HBB_2 5227002 HBB_2 GTAACGGCAGACTTCTCCTC AGG CGGCAGACTTCTC +#> HEXA_1 72346583 HEXA_1 TGTAGAAATCCTTCCAGTCA GGG GAAATCCTTCCAG +#> HEXA_2 72346583 HEXA_2 ATCCTTCCAGTCAGGGCCAT AGG TTCCAGTCAGGGC +#> PRNP_1 4699600 PRNP_1 AGCAGCTGGGGCAGTGGTGG GGG GCTGGGGCAGTGG +#> PRNP_2 4699600 PRNP_2 GCAGCTGGGGCAGTGGTGGG GGG CTGGGGCAGTGGT +#> PRNP_3 4699600 PRNP_3 GGGGCAGTGGTGGGGGGCCT TGG CAGTGGTGGGGGG +#> PRNP_4 4699600 PRNP_4 GCAGTGGTGGGGGGCCTTGG CGG TGGTGGGGGGCCT +#> revtranscript extension +#> <character> <character> +#> CFTR_1 CTTTGGTGTTTCCTAT ATAGGAAACACCAAAGATGATATTTTCTT +#> CFTR_2 CATAGGAAACACCAAA TTTGGTGTTTCCTATGATGAATATAGATA +#> HBB_1 CTGAGGAGAAGTCTGC GCAGACTTCTCCTCAGGAGTCAGATGCAC +#> HBB_2 CTCAGGAGTCAGATGC GCATCTGACTCCTGAGGAGAAGTCTGCCG +#> HEXA_1 TCAGGGCCATAGGATA TATCCTATGGCCCTGACTGGAAGGATTTC +#> HEXA_2 CATAGGATATACGGTT AACCGTATATCCTATGGCCCTGACTGGAA +#> PRNP_1 TGGGGGGCCTTGGCGG CCGCCAAGGCCCCCCACCACTGCCCCAGC +#> PRNP_2 GGGGGGCCTTGGCGGC GCCGCCAAGGCCCCCCACCACTGCCCCAG +#> PRNP_3 CCTTGGCGGCTACATG CATGTAGCCGCCAAGGCCCCCCACCACTG +#> PRNP_4 TGGCGGCTACATGCTG CAGCATGTAGCCGCCAAGGCCCCCCACCA +#> ------- +#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'> <span class='fu'>find_spacers</span>(<span class='fu'><a href='extend_for_pe.html'>extend_for_pe</a></span>(<span class='no'>gr</span>), <span class='no'>bsgenome</span>, <span class='kw'>complement</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>)</div><div class='img'><img src='find_spacers-3.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 10 ranges and 6 metadata columns: +#> seqnames ranges strand | targetname targetstart +#> <Rle> <IRanges> <Rle> | <character> <integer> +#> CFTR_f chr7 117559575-117559594 + | CFTR 117559593 +#> CFTR_r chr7 117559606-117559625 - | CFTR 117559593 +#> HBB_f chr11 5226984-5227003 + | HBB 5227002 +#> HBB_r chr11 5227003-5227022 - | HBB 5227002 +#> HEXA_f_1 chr15 72346551-72346570 + | HEXA 72346580 +#> HEXA_f_2 chr15 72346558-72346577 + | HEXA 72346580 +#> PRNP_f_1 chr20 4699568-4699587 + | PRNP 4699600 +#> PRNP_f_2 chr20 4699569-4699588 + | PRNP 4699600 +#> PRNP_f_3 chr20 4699575-4699594 + | PRNP 4699600 +#> PRNP_f_4 chr20 4699578-4699597 + | PRNP 4699600 +#> targetend crisprname crisprspacer crisprpam +#> <integer> <character> <character> <character> +#> CFTR_f 117559595 CFTR_f ATTAAAGAAAATATCATCTT TGG +#> CFTR_r 117559595 CFTR_r TCTGTATCTATATTCATCAT AGG +#> HBB_f 5227002 HBB_f GTAACGGCAGACTTCTCCTC AGG +#> HBB_r 5227002 HBB_r CATGGTGCATCTGACTCCTG AGG +#> HEXA_f_1 72346583 HEXA_f_1 TGTAGAAATCCTTCCAGTCA GGG +#> HEXA_f_2 72346583 HEXA_f_2 ATCCTTCCAGTCAGGGCCAT AGG +#> PRNP_f_1 4699600 PRNP_f_1 AGCAGCTGGGGCAGTGGTGG GGG +#> PRNP_f_2 4699600 PRNP_f_2 GCAGCTGGGGCAGTGGTGGG GGG +#> PRNP_f_3 4699600 PRNP_f_3 GGGGCAGTGGTGGGGGGCCT TGG +#> PRNP_f_4 4699600 PRNP_f_4 GCAGTGGTGGGGGGCCTTGG CGG +#> ------- +#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'> <span class='co'># complement = FALSE because extend_for_pe already </span> + <span class='co'># adds reverse complements and does so in a strand-specific </span> + <span class='co'># manner</span> + +<span class='co'># TFBS example</span> +<span class='co'>#-------------</span> + <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> + <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span><span class='kw'>=</span><span class='st'>'multicrispr'</span>) + <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='st'>'mm10'</span>) <span class='kw'>%>%</span> <span class='fu'><a href='up_flank.html'>extend</a></span>()</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='find_spacers-4.png' alt='' width='700' height='433' /></div><div class='input'> <span class='fu'>find_spacers</span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='img'><img src='find_spacers-5.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 10159 ranges and 8 metadata columns: +#> seqnames ranges strand | name score +#> <Rle> <IRanges> <Rle> | <character> <numeric> +#> T0001_r_5 chr1 4712619-4712638 - | SRF_MA0083.3 10.49542 +#> T0001_r_4 chr1 4712620-4712639 - | SRF_MA0083.3 10.49542 +#> T0001_r_3 chr1 4712627-4712646 - | SRF_MA0083.3 10.49542 +#> T0001_r_2 chr1 4712633-4712652 - | SRF_MA0083.3 10.49542 +#> T0001_r_1 chr1 4712634-4712653 - | SRF_MA0083.3 10.49542 +#> ... ... ... ... . ... ... +#> T1974_r_3 chrY 89126492-89126511 - | SRF_MA0083.3 4.54393 +#> T1974_f_3 chrY 89126496-89126515 + | SRF_MA0083.3 4.54393 +#> T1974_r_2 chrY 89126499-89126518 - | SRF_MA0083.3 4.54393 +#> T1974_r_1 chrY 89126500-89126519 - | SRF_MA0083.3 4.54393 +#> T1974_f_4 chrY 89126501-89126520 + | SRF_MA0083.3 4.54393 +#> targetname targetstart targetend crisprname crisprspacer +#> <character> <integer> <integer> <character> <character> +#> T0001_r_5 T0001 4712628 4712643 T0001_r_5 ATATAAGGGCATTGGAAGAA +#> T0001_r_4 T0001 4712628 4712643 T0001_r_4 AATATAAGGGCATTGGAAGA +#> T0001_r_3 T0001 4712628 4712643 T0001_r_3 TGGAGACAATATAAGGGCAT +#> T0001_r_2 T0001 4712628 4712643 T0001_r_2 TTCTGCTGGAGACAATATAA +#> T0001_r_1 T0001 4712628 4712643 T0001_r_1 CTTCTGCTGGAGACAATATA +#> ... ... ... ... ... ... +#> T1974_r_3 T1974 89126494 89126509 T1974_r_3 TTTGCCCATACTAGGGAGAG +#> T1974_f_3 T1974 89126494 89126509 T1974_f_3 CCCTAGTATGGGCAAATATA +#> T1974_r_2 T1974 89126494 89126509 T1974_r_2 CCATATATTTGCCCATACTA +#> T1974_r_1 T1974 89126494 89126509 T1974_r_1 TCCATATATTTGCCCATACT +#> T1974_f_4 T1974 89126494 89126509 T1974_f_4 GTATGGGCAAATATATGGAA +#> crisprpam +#> <character> +#> T0001_r_5 GGG +#> T0001_r_4 AGG +#> T0001_r_3 TGG +#> T0001_r_2 GGG +#> T0001_r_1 AGG +#> ... ... +#> T1974_r_3 CGG +#> T1974_f_3 TGG +#> T1974_r_2 GGG +#> T1974_r_1 AGG +#> T1974_f_4 TGG +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#see-also">See also</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/find_specific_cas9ranges.html b/public/reference/find_specific_cas9ranges.html index 67132426952a8027af5c610d2b154947f0762b63..dbdf2492ce56938f54979bb2a6a3d17490cef1bb 100644 --- a/public/reference/find_specific_cas9ranges.html +++ b/public/reference/find_specific_cas9ranges.html @@ -1,193 +1,193 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Find target cas9 ranges with no offtargets — find_specific_cas9ranges • multicrispr</title> - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - -<meta property="og:title" content="Find target cas9 ranges with no offtargets — find_specific_cas9ranges" /> - -<meta property="og:description" content="Find target cas9 ranges with no offtargets" /> -<meta name="twitter:card" content="summary" /> - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/using_multicrispr.html">Using multicrispr</a> - </li> - </ul> -</li> - </ul> - - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Find target cas9 ranges with no offtargets</h1> - - <div class="hidden name"><code>find_specific_cas9ranges.Rd</code></div> - </div> - - <div class="ref-description"> - - <p>Find target cas9 ranges with no offtargets</p> - - </div> - - <pre class="usage"><span class='fu'>find_specific_cas9ranges</span>(<span class='no'>targetranges</span>, <span class='kw'>mismatch</span> <span class='kw'>=</span> <span class='fl'>2</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>targetranges</th> - <td><p>GenomicRanges::GRanges</p></td> - </tr> - <tr> - <th>mismatch</th> - <td><p>max number of mismatches to consider</p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>logical(1)</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>GenomicRanges::GRanges - mcols(GRanges) contains sequences and match counts: - matches0 = perfect match counts - matches1 = single mismatch counts - matches2 = double mismatch counts</p> - - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><span class='co'># NOT RUN {</span> - <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) - <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) - <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> - <span class='no'>targetranges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>)[<span class='fl'>1</span>:<span class='fl'>10</span>] <span class='kw'>%>%</span> <span class='fu'><a href='flank_fourways.html'>flank_fourways</a></span>() - <span class='no'>targetranges</span> <span class='kw'>%>%</span> <span class='fu'>find_specific_cas9ranges</span>(<span class='kw'>mismatch</span><span class='kw'>=</span><span class='fl'>0</span>) -<span class='co'># }</span></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - - <li><a href="#value">Value</a></li> - - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Find target cas9 ranges with no offtargets — find_specific_cas9ranges • multicrispr</title> + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + +<meta property="og:title" content="Find target cas9 ranges with no offtargets — find_specific_cas9ranges" /> + +<meta property="og:description" content="Find target cas9 ranges with no offtargets" /> +<meta name="twitter:card" content="summary" /> + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/using_multicrispr.html">Using multicrispr</a> + </li> + </ul> +</li> + </ul> + + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Find target cas9 ranges with no offtargets</h1> + + <div class="hidden name"><code>find_specific_cas9ranges.Rd</code></div> + </div> + + <div class="ref-description"> + + <p>Find target cas9 ranges with no offtargets</p> + + </div> + + <pre class="usage"><span class='fu'>find_specific_cas9ranges</span>(<span class='no'>targetranges</span>, <span class='kw'>mismatch</span> <span class='kw'>=</span> <span class='fl'>2</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>targetranges</th> + <td><p>GenomicRanges::GRanges</p></td> + </tr> + <tr> + <th>mismatch</th> + <td><p>max number of mismatches to consider</p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>logical(1)</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>GenomicRanges::GRanges + mcols(GRanges) contains sequences and match counts: + matches0 = perfect match counts + matches1 = single mismatch counts + matches2 = double mismatch counts</p> + + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><span class='co'># NOT RUN {</span> + <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) + <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) + <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> + <span class='no'>targetranges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>)[<span class='fl'>1</span>:<span class='fl'>10</span>] <span class='kw'>%>%</span> <span class='fu'><a href='flank_fourways.html'>flank_fourways</a></span>() + <span class='no'>targetranges</span> <span class='kw'>%>%</span> <span class='fu'>find_specific_cas9ranges</span>(<span class='kw'>mismatch</span><span class='kw'>=</span><span class='fl'>0</span>) +<span class='co'># }</span></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + + <li><a href="#value">Value</a></li> + + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/flank_fourways.html b/public/reference/flank_fourways.html index e04adc7116c806def2a86503cb3fe61ab02a044a..552c7742ad775f763a4d4a92aae1ee6d947db121 100644 --- a/public/reference/flank_fourways.html +++ b/public/reference/flank_fourways.html @@ -1,229 +1,229 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Flank fourways — flank_fourways • multicrispr</title> - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - -<meta property="og:title" content="Flank fourways — flank_fourways" /> - -<meta property="og:description" content="Flank left and right, for both strands, and merge overlaps" /> -<meta name="twitter:card" content="summary" /> - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/using_multicrispr.html">Using multicrispr</a> - </li> - </ul> -</li> - </ul> - - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Flank fourways</h1> - - <div class="hidden name"><code>flank_fourways.Rd</code></div> - </div> - - <div class="ref-description"> - - <p>Flank left and right, for both strands, and merge overlaps</p> - - </div> - - <pre class="usage"><span class='fu'>flank_fourways</span>(<span class='no'>granges</span>, <span class='kw'>leftstart</span> <span class='kw'>=</span> -<span class='fl'>200</span>, <span class='kw'>leftend</span> <span class='kw'>=</span> -<span class='fl'>1</span>, - <span class='kw'>rightstart</span> <span class='kw'>=</span> <span class='fl'>1</span>, <span class='kw'>rightend</span> <span class='kw'>=</span> <span class='fl'>200</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>granges</th> - <td><p>GenomicRanges::GRanges</p></td> - </tr> - <tr> - <th>leftstart</th> - <td><p>numeric(1): left flank start (from range start)</p></td> - </tr> - <tr> - <th>leftend</th> - <td><p>numeric(1): left flank end (from range start)</p></td> - </tr> - <tr> - <th>rightstart</th> - <td><p>numeric(1): right flank start (from range end)</p></td> - </tr> - <tr> - <th>rightend</th> - <td><p>numeric(1): right flank end (from range end)</p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>logical(1): report?</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>data.table(chr, start, end, strand)</p> - - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) -<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) -<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> -<span class='no'>granges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='input'><span class='no'>granges</span></div><div class='output co'>#> GRanges object with 1974 ranges and 0 metadata columns: -#> seqnames ranges strand -#> <Rle> <IRanges> <Rle> -#> [1] chr1 4712627-4712643 - -#> [2] chr1 5250211-5250227 - -#> [3] chr1 5250451-5250467 - -#> [4] chr1 5256192-5256208 - -#> [5] chr1 5985727-5985743 - -#> ... ... ... ... -#> [1970] chrY 6770311-6770327 + -#> [1971] chrY 23130567-23130583 + -#> [1972] chrY 42512399-42512415 - -#> [1973] chrY 79048175-79048191 - -#> [1974] chrY 89126493-89126509 - -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div><div class='input'><span class='no'>granges</span> <span class='kw'>%>%</span> <span class='fu'>flank_fourways</span>()</div><div class='output co'>#> <span class='message'> Flank fourways</span></div><div class='output co'>#> <span class='message'> 1974 left flanks : [start-200, start-1]</span></div><div class='output co'>#> <span class='message'> 1974 right flanks : [end+1, end+200]</span></div><div class='output co'>#> <span class='message'> 3948 combined (left + right)</span></div><div class='output co'>#> <span class='message'> 7896 after adding strand-complements</span></div><div class='output co'>#> <span class='message'> 7306 after merging overlaps</span></div><div class='output co'>#> GRanges object with 7306 ranges and 0 metadata columns: -#> seqnames ranges strand -#> <Rle> <IRanges> <Rle> -#> [1] chr1 4712427-4712626 + -#> [2] chr1 4712644-4712843 + -#> [3] chr1 5250011-5250210 + -#> [4] chr1 5250228-5250450 + -#> [5] chr1 5250468-5250667 + -#> ... ... ... ... -#> [7302] chrY 42512416-42512615 - -#> [7303] chrY 79047975-79048174 - -#> [7304] chrY 79048192-79048391 - -#> [7305] chrY 89126293-89126492 - -#> [7306] chrY 89126510-89126709 - -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - - <li><a href="#value">Value</a></li> - - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Flank fourways — flank_fourways • multicrispr</title> + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + +<meta property="og:title" content="Flank fourways — flank_fourways" /> + +<meta property="og:description" content="Flank left and right, for both strands, and merge overlaps" /> +<meta name="twitter:card" content="summary" /> + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/using_multicrispr.html">Using multicrispr</a> + </li> + </ul> +</li> + </ul> + + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Flank fourways</h1> + + <div class="hidden name"><code>flank_fourways.Rd</code></div> + </div> + + <div class="ref-description"> + + <p>Flank left and right, for both strands, and merge overlaps</p> + + </div> + + <pre class="usage"><span class='fu'>flank_fourways</span>(<span class='no'>granges</span>, <span class='kw'>leftstart</span> <span class='kw'>=</span> -<span class='fl'>200</span>, <span class='kw'>leftend</span> <span class='kw'>=</span> -<span class='fl'>1</span>, + <span class='kw'>rightstart</span> <span class='kw'>=</span> <span class='fl'>1</span>, <span class='kw'>rightend</span> <span class='kw'>=</span> <span class='fl'>200</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>granges</th> + <td><p>GenomicRanges::GRanges</p></td> + </tr> + <tr> + <th>leftstart</th> + <td><p>numeric(1): left flank start (from range start)</p></td> + </tr> + <tr> + <th>leftend</th> + <td><p>numeric(1): left flank end (from range start)</p></td> + </tr> + <tr> + <th>rightstart</th> + <td><p>numeric(1): right flank start (from range end)</p></td> + </tr> + <tr> + <th>rightend</th> + <td><p>numeric(1): right flank end (from range end)</p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>logical(1): report?</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>data.table(chr, start, end, strand)</p> + + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) +<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) +<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> +<span class='no'>granges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='input'><span class='no'>granges</span></div><div class='output co'>#> GRanges object with 1974 ranges and 0 metadata columns: +#> seqnames ranges strand +#> <Rle> <IRanges> <Rle> +#> [1] chr1 4712627-4712643 - +#> [2] chr1 5250211-5250227 - +#> [3] chr1 5250451-5250467 - +#> [4] chr1 5256192-5256208 - +#> [5] chr1 5985727-5985743 - +#> ... ... ... ... +#> [1970] chrY 6770311-6770327 + +#> [1971] chrY 23130567-23130583 + +#> [1972] chrY 42512399-42512415 - +#> [1973] chrY 79048175-79048191 - +#> [1974] chrY 89126493-89126509 - +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div><div class='input'><span class='no'>granges</span> <span class='kw'>%>%</span> <span class='fu'>flank_fourways</span>()</div><div class='output co'>#> <span class='message'> Flank fourways</span></div><div class='output co'>#> <span class='message'> 1974 left flanks : [start-200, start-1]</span></div><div class='output co'>#> <span class='message'> 1974 right flanks : [end+1, end+200]</span></div><div class='output co'>#> <span class='message'> 3948 combined (left + right)</span></div><div class='output co'>#> <span class='message'> 7896 after adding strand-complements</span></div><div class='output co'>#> <span class='message'> 7306 after merging overlaps</span></div><div class='output co'>#> GRanges object with 7306 ranges and 0 metadata columns: +#> seqnames ranges strand +#> <Rle> <IRanges> <Rle> +#> [1] chr1 4712427-4712626 + +#> [2] chr1 4712644-4712843 + +#> [3] chr1 5250011-5250210 + +#> [4] chr1 5250228-5250450 + +#> [5] chr1 5250468-5250667 + +#> ... ... ... ... +#> [7302] chrY 42512416-42512615 - +#> [7303] chrY 79047975-79048174 - +#> [7304] chrY 79048192-79048391 - +#> [7305] chrY 89126293-89126492 - +#> [7306] chrY 89126510-89126709 - +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + + <li><a href="#value">Value</a></li> + + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/genes_to_granges-1.png b/public/reference/genes_to_granges-1.png index e20b500ff7ae491213edb956687de4da4b08a90d..47c3f11ff6423518ccb306c735f3d4b4ce0cfbe2 100644 Binary files a/public/reference/genes_to_granges-1.png and b/public/reference/genes_to_granges-1.png differ diff --git a/public/reference/genes_to_granges-2.png b/public/reference/genes_to_granges-2.png index 90e9d8a2944e1c58a44d006cebcf707740dea5e3..05dbcb78384651200b51cb01b299642c9eab3f12 100644 Binary files a/public/reference/genes_to_granges-2.png and b/public/reference/genes_to_granges-2.png differ diff --git a/public/reference/genes_to_granges.html b/public/reference/genes_to_granges.html index 43cd4d7cd476bb3fd4a6a2a756a7ff15d0a6acc5..dbf3f6f67e7700b4fca7aa064064863bd0161127 100644 --- a/public/reference/genes_to_granges.html +++ b/public/reference/genes_to_granges.html @@ -1,400 +1,400 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Convert geneids into GRanges — genes_to_granges • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Convert geneids into GRanges — genes_to_granges" /> -<meta property="og:description" content="Convert geneids into GRanges" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Convert geneids into GRanges</h1> - - <div class="hidden name"><code>genes_to_granges.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Convert geneids into GRanges</p> - </div> - - <pre class="usage"><span class='fu'>genes_to_granges</span>(<span class='no'>geneids</span>, <span class='no'>txdb</span>, <span class='kw'>complement</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>) - -<span class='fu'>genefile_to_granges</span>(<span class='no'>file</span>, <span class='no'>txdb</span>, <span class='kw'>complement</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>geneids</th> - <td><p>Gene identifier vector</p></td> - </tr> - <tr> - <th>txdb</th> - <td><p><code><a href='https://rdrr.io/pkg/GenomicFeatures/man/TxDb-class.html'>TxDb-class</a></code> or -<code><a href='https://rdrr.io/pkg/ensembldb/man/EnsDb-class.html'>EnsDb-class</a></code></p></td> - </tr> - <tr> - <th>complement</th> - <td><p>TRUE (default) or FALSE: add complementary strand?</p></td> - </tr> - <tr> - <th>plot</th> - <td><p>TRUE (default) or FALSE</p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>TRUE (default) or FALSE</p></td> - </tr> - <tr> - <th>file</th> - <td><p>Gene identifier file (one per row)</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> - <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2> - - <div class='dont-index'><p><code><a href='char_to_granges.html'>char_to_granges</a></code>, <code><a href='bed_to_granges.html'>bed_to_granges</a></code></p></div> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='co'># Entrez</span> -<span class='co'>#-------</span> - <span class='no'>genefile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.entrez'</span>, <span class='kw'>package</span><span class='kw'>=</span><span class='st'>'multicrispr'</span>) - <span class='no'>geneids</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/character.html'>as.character</a></span>(<span class='fu'><a href='https://rdrr.io/r/utils/read.table.html'>read.table</a></span>(<span class='no'>genefile</span>)<span class='kw'>[[</span><span class='fl'>1</span>]]) - <span class='no'>txdb</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/utils/getFromNamespace.html'>getFromNamespace</a></span>(<span class='st'>'TxDb.Mmusculus.UCSC.mm10.knownGene'</span>, - <span class='st'>'TxDb.Mmusculus.UCSC.mm10.knownGene'</span>) - (<span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'>genes_to_granges</span>(<span class='no'>geneids</span>, <span class='no'>txdb</span>))</div><div class='output co'>#> <span class='message'> Convert 10 genes to 10 GRanges</span></div><div class='output co'>#> <span class='message'> 20 ranges after adding inverse strands</span></div><div class='output co'>#> GRanges object with 20 ranges and 4 metadata columns: -#> seqnames ranges strand | gene_id targetname -#> <Rle> <IRanges> <Rle> | <character> <character> -#> 27392_r chr1 105518422-105663677 - | 27392 27392_r -#> 27392_f chr1 105518422-105663677 + | 27392 27392_f -#> 100043424_r chr2 128178319-128502765 - | 100043424 100043424_r -#> 100043424_f chr2 128178319-128502765 + | 100043424 100043424_f -#> 622434_f chr3 62338344-62462221 + | 622434 622434_f -#> ... ... ... ... . ... ... -#> 71918_f chr14 25711642-25769039 + | 71918 71918_f -#> 13653_f chr18 34859823-34864984 + | 13653 13653_f -#> 13653_r chr18 34859823-34864984 - | 13653 13653_r -#> 52662_f chr18 67933257-68268630 + | 52662 52662_f -#> 52662_r chr18 67933257-68268630 - | 52662 52662_r -#> targetstart targetend -#> <integer> <integer> -#> 27392_r 105518422 105663677 -#> 27392_f 105518422 105663677 -#> 100043424_r 128178319 128502765 -#> 100043424_f 128178319 128502765 -#> 622434_f 62338344 62462221 -#> ... ... ... -#> 71918_f 25711642 25769039 -#> 13653_f 34859823 34864984 -#> 13653_r 34859823 34864984 -#> 52662_f 67933257 68268630 -#> 52662_r 67933257 68268630 -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div><div class='input'> (<span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'>genefile_to_granges</span>(<span class='no'>genefile</span>, <span class='no'>txdb</span>))</div><div class='output co'>#> <span class='message'> Convert 10 genes to 10 GRanges</span></div><div class='output co'>#> <span class='message'> 20 ranges after adding inverse strands</span></div><div class='img'><img src='genes_to_granges-1.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 20 ranges and 4 metadata columns: -#> seqnames ranges strand | gene_id targetname -#> <Rle> <IRanges> <Rle> | <character> <character> -#> 27392_r chr1 105518422-105663677 - | 27392 27392_r -#> 27392_f chr1 105518422-105663677 + | 27392 27392_f -#> 100043424_r chr2 128178319-128502765 - | 100043424 100043424_r -#> 100043424_f chr2 128178319-128502765 + | 100043424 100043424_f -#> 622434_f chr3 62338344-62462221 + | 622434 622434_f -#> ... ... ... ... . ... ... -#> 71918_f chr14 25711642-25769039 + | 71918 71918_f -#> 13653_f chr18 34859823-34864984 + | 13653 13653_f -#> 13653_r chr18 34859823-34864984 - | 13653 13653_r -#> 52662_f chr18 67933257-68268630 + | 52662 52662_f -#> 52662_r chr18 67933257-68268630 - | 52662 52662_r -#> targetstart targetend -#> <integer> <integer> -#> 27392_r 105518422 105663677 -#> 27392_f 105518422 105663677 -#> 100043424_r 128178319 128502765 -#> 100043424_f 128178319 128502765 -#> 622434_f 62338344 62462221 -#> ... ... ... -#> 71918_f 25711642 25769039 -#> 13653_f 34859823 34864984 -#> 13653_r 34859823 34864984 -#> 52662_f 67933257 68268630 -#> 52662_r 67933257 68268630 -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div><div class='input'> -<span class='co'># Ensembl</span> -<span class='co'>#--------</span> - <span class='no'>txdb</span> <span class='kw'><-</span> <span class='fu'><a href='EnsDb.Mmusculus.v98.html'>EnsDb.Mmusculus.v98</a></span>()</div><div class='output co'>#> <span class='message'>snapshotDate(): 2019-10-29</span></div><div class='output co'>#> <span class='message'>loading from cache</span></div><div class='input'> <span class='no'>genefile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.ensembl'</span>, <span class='kw'>package</span><span class='kw'>=</span><span class='st'>'multicrispr'</span>) - <span class='no'>geneids</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/character.html'>as.character</a></span>(<span class='fu'><a href='https://rdrr.io/r/utils/read.table.html'>read.table</a></span>(<span class='no'>genefile</span>)<span class='kw'>[[</span><span class='fl'>1</span>]]) - (<span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'>genes_to_granges</span>(<span class='no'>geneids</span>, <span class='no'>txdb</span>))</div><div class='output co'>#> <span class='message'> Convert 10 genes to 10 GRanges</span></div><div class='output co'>#> <span class='message'> 20 ranges after adding inverse strands</span></div><div class='img'><img src='genes_to_granges-2.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 20 ranges and 11 metadata columns: -#> seqnames ranges strand | gene_id -#> <Rle> <IRanges> <Rle> | <character> -#> ENSMUSG00000056536_r 1 105518422-105663677 - | ENSMUSG00000056536 -#> ENSMUSG00000056536_f 1 105518422-105663677 + | ENSMUSG00000056536 -#> ENSMUSG00000074813_r 2 128178319-128502765 - | ENSMUSG00000074813 -#> ENSMUSG00000074813_f 2 128178319-128502765 + | ENSMUSG00000074813 -#> ENSMUSG00000036885_f 3 62338344-62462221 + | ENSMUSG00000036885 -#> ... ... ... ... . ... -#> ENSMUSG00000055538_f 14 25711642-25769039 + | ENSMUSG00000055538 -#> ENSMUSG00000038418_f 18 34859823-34864984 + | ENSMUSG00000038418 -#> ENSMUSG00000038418_r 18 34859823-34864984 - | ENSMUSG00000038418 -#> ENSMUSG00000024544_f 18 67933257-68268630 + | ENSMUSG00000024544 -#> ENSMUSG00000024544_r 18 67933257-68268630 - | ENSMUSG00000024544 -#> gene_name gene_biotype seq_coord_system -#> <character> <character> <character> -#> ENSMUSG00000056536_r Pign protein_coding chromosome -#> ENSMUSG00000056536_f Pign protein_coding chromosome -#> ENSMUSG00000074813_r Morrbid lncRNA chromosome -#> ENSMUSG00000074813_f Morrbid lncRNA chromosome -#> ENSMUSG00000036885_f Arhgef26 protein_coding chromosome -#> ... ... ... ... -#> ENSMUSG00000055538_f Zcchc24 protein_coding chromosome -#> ENSMUSG00000038418_f Egr1 protein_coding chromosome -#> ENSMUSG00000038418_r Egr1 protein_coding chromosome -#> ENSMUSG00000024544_f Ldlrad4 protein_coding chromosome -#> ENSMUSG00000024544_r Ldlrad4 protein_coding chromosome -#> description -#> <character> -#> ENSMUSG00000056536_r phosphatidylinositol glycan anchor biosynthesis, class N [Source:MGI Symbol;Acc:MGI:1351629] -#> ENSMUSG00000056536_f phosphatidylinositol glycan anchor biosynthesis, class N [Source:MGI Symbol;Acc:MGI:1351629] -#> ENSMUSG00000074813_r myeloid RNA regulator of BCL2L11 induced cell death [Source:MGI Symbol;Acc:MGI:3652191] -#> ENSMUSG00000074813_f myeloid RNA regulator of BCL2L11 induced cell death [Source:MGI Symbol;Acc:MGI:3652191] -#> ENSMUSG00000036885_f Rho guanine nucleotide exchange factor (GEF) 26 [Source:MGI Symbol;Acc:MGI:1918053] -#> ... ... -#> ENSMUSG00000055538_f zinc finger, CCHC domain containing 24 [Source:MGI Symbol;Acc:MGI:1919168] -#> ENSMUSG00000038418_f early growth response 1 [Source:MGI Symbol;Acc:MGI:95295] -#> ENSMUSG00000038418_r early growth response 1 [Source:MGI Symbol;Acc:MGI:95295] -#> ENSMUSG00000024544_f low density lipoprotein receptor class A domain containing 4 [Source:MGI Symbol;Acc:MGI:1277150] -#> ENSMUSG00000024544_r low density lipoprotein receptor class A domain containing 4 [Source:MGI Symbol;Acc:MGI:1277150] -#> gene_id_version symbol entrezid -#> <character> <character> <list> -#> ENSMUSG00000056536_r ENSMUSG00000056536.14 Pign 27392 -#> ENSMUSG00000056536_f ENSMUSG00000056536.14 Pign 27392 -#> ENSMUSG00000074813_r ENSMUSG00000074813.13 Morrbid NA -#> ENSMUSG00000074813_f ENSMUSG00000074813.13 Morrbid NA -#> ENSMUSG00000036885_f ENSMUSG00000036885.14 Arhgef26 622434 -#> ... ... ... ... -#> ENSMUSG00000055538_f ENSMUSG00000055538.7 Zcchc24 71918 -#> ENSMUSG00000038418_f ENSMUSG00000038418.7 Egr1 13653 -#> ENSMUSG00000038418_r ENSMUSG00000038418.7 Egr1 13653 -#> ENSMUSG00000024544_f ENSMUSG00000024544.9 Ldlrad4 52662 -#> ENSMUSG00000024544_r ENSMUSG00000024544.9 Ldlrad4 52662 -#> targetname targetstart targetend -#> <character> <integer> <integer> -#> ENSMUSG00000056536_r ENSMUSG00000056536_r 105518422 105663677 -#> ENSMUSG00000056536_f ENSMUSG00000056536_f 105518422 105663677 -#> ENSMUSG00000074813_r ENSMUSG00000074813_r 128178319 128502765 -#> ENSMUSG00000074813_f ENSMUSG00000074813_f 128178319 128502765 -#> ENSMUSG00000036885_f ENSMUSG00000036885_f 62338344 62462221 -#> ... ... ... ... -#> ENSMUSG00000055538_f ENSMUSG00000055538_f 25711642 25769039 -#> ENSMUSG00000038418_f ENSMUSG00000038418_f 34859823 34864984 -#> ENSMUSG00000038418_r ENSMUSG00000038418_r 34859823 34864984 -#> ENSMUSG00000024544_f ENSMUSG00000024544_f 67933257 68268630 -#> ENSMUSG00000024544_r ENSMUSG00000024544_r 67933257 68268630 -#> ------- -#> seqinfo: 118 sequences from GRCm38 genome</div><div class='input'> (<span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'>genefile_to_granges</span>(<span class='no'>genefile</span>, <span class='no'>txdb</span>))</div><div class='output co'>#> <span class='message'> Convert 10 genes to 10 GRanges</span></div><div class='output co'>#> <span class='message'> 20 ranges after adding inverse strands</span></div><div class='output co'>#> GRanges object with 20 ranges and 11 metadata columns: -#> seqnames ranges strand | gene_id -#> <Rle> <IRanges> <Rle> | <character> -#> ENSMUSG00000056536_r 1 105518422-105663677 - | ENSMUSG00000056536 -#> ENSMUSG00000056536_f 1 105518422-105663677 + | ENSMUSG00000056536 -#> ENSMUSG00000074813_r 2 128178319-128502765 - | ENSMUSG00000074813 -#> ENSMUSG00000074813_f 2 128178319-128502765 + | ENSMUSG00000074813 -#> ENSMUSG00000036885_f 3 62338344-62462221 + | ENSMUSG00000036885 -#> ... ... ... ... . ... -#> ENSMUSG00000055538_f 14 25711642-25769039 + | ENSMUSG00000055538 -#> ENSMUSG00000038418_f 18 34859823-34864984 + | ENSMUSG00000038418 -#> ENSMUSG00000038418_r 18 34859823-34864984 - | ENSMUSG00000038418 -#> ENSMUSG00000024544_f 18 67933257-68268630 + | ENSMUSG00000024544 -#> ENSMUSG00000024544_r 18 67933257-68268630 - | ENSMUSG00000024544 -#> gene_name gene_biotype seq_coord_system -#> <character> <character> <character> -#> ENSMUSG00000056536_r Pign protein_coding chromosome -#> ENSMUSG00000056536_f Pign protein_coding chromosome -#> ENSMUSG00000074813_r Morrbid lncRNA chromosome -#> ENSMUSG00000074813_f Morrbid lncRNA chromosome -#> ENSMUSG00000036885_f Arhgef26 protein_coding chromosome -#> ... ... ... ... -#> ENSMUSG00000055538_f Zcchc24 protein_coding chromosome -#> ENSMUSG00000038418_f Egr1 protein_coding chromosome -#> ENSMUSG00000038418_r Egr1 protein_coding chromosome -#> ENSMUSG00000024544_f Ldlrad4 protein_coding chromosome -#> ENSMUSG00000024544_r Ldlrad4 protein_coding chromosome -#> description -#> <character> -#> ENSMUSG00000056536_r phosphatidylinositol glycan anchor biosynthesis, class N [Source:MGI Symbol;Acc:MGI:1351629] -#> ENSMUSG00000056536_f phosphatidylinositol glycan anchor biosynthesis, class N [Source:MGI Symbol;Acc:MGI:1351629] -#> ENSMUSG00000074813_r myeloid RNA regulator of BCL2L11 induced cell death [Source:MGI Symbol;Acc:MGI:3652191] -#> ENSMUSG00000074813_f myeloid RNA regulator of BCL2L11 induced cell death [Source:MGI Symbol;Acc:MGI:3652191] -#> ENSMUSG00000036885_f Rho guanine nucleotide exchange factor (GEF) 26 [Source:MGI Symbol;Acc:MGI:1918053] -#> ... ... -#> ENSMUSG00000055538_f zinc finger, CCHC domain containing 24 [Source:MGI Symbol;Acc:MGI:1919168] -#> ENSMUSG00000038418_f early growth response 1 [Source:MGI Symbol;Acc:MGI:95295] -#> ENSMUSG00000038418_r early growth response 1 [Source:MGI Symbol;Acc:MGI:95295] -#> ENSMUSG00000024544_f low density lipoprotein receptor class A domain containing 4 [Source:MGI Symbol;Acc:MGI:1277150] -#> ENSMUSG00000024544_r low density lipoprotein receptor class A domain containing 4 [Source:MGI Symbol;Acc:MGI:1277150] -#> gene_id_version symbol entrezid -#> <character> <character> <list> -#> ENSMUSG00000056536_r ENSMUSG00000056536.14 Pign 27392 -#> ENSMUSG00000056536_f ENSMUSG00000056536.14 Pign 27392 -#> ENSMUSG00000074813_r ENSMUSG00000074813.13 Morrbid NA -#> ENSMUSG00000074813_f ENSMUSG00000074813.13 Morrbid NA -#> ENSMUSG00000036885_f ENSMUSG00000036885.14 Arhgef26 622434 -#> ... ... ... ... -#> ENSMUSG00000055538_f ENSMUSG00000055538.7 Zcchc24 71918 -#> ENSMUSG00000038418_f ENSMUSG00000038418.7 Egr1 13653 -#> ENSMUSG00000038418_r ENSMUSG00000038418.7 Egr1 13653 -#> ENSMUSG00000024544_f ENSMUSG00000024544.9 Ldlrad4 52662 -#> ENSMUSG00000024544_r ENSMUSG00000024544.9 Ldlrad4 52662 -#> targetname targetstart targetend -#> <character> <integer> <integer> -#> ENSMUSG00000056536_r ENSMUSG00000056536_r 105518422 105663677 -#> ENSMUSG00000056536_f ENSMUSG00000056536_f 105518422 105663677 -#> ENSMUSG00000074813_r ENSMUSG00000074813_r 128178319 128502765 -#> ENSMUSG00000074813_f ENSMUSG00000074813_f 128178319 128502765 -#> ENSMUSG00000036885_f ENSMUSG00000036885_f 62338344 62462221 -#> ... ... ... ... -#> ENSMUSG00000055538_f ENSMUSG00000055538_f 25711642 25769039 -#> ENSMUSG00000038418_f ENSMUSG00000038418_f 34859823 34864984 -#> ENSMUSG00000038418_r ENSMUSG00000038418_r 34859823 34864984 -#> ENSMUSG00000024544_f ENSMUSG00000024544_f 67933257 68268630 -#> ENSMUSG00000024544_r ENSMUSG00000024544_r 67933257 68268630 -#> ------- -#> seqinfo: 118 sequences from GRCm38 genome</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#see-also">See also</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Convert geneids into GRanges — genes_to_granges • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Convert geneids into GRanges — genes_to_granges" /> +<meta property="og:description" content="Convert geneids into GRanges" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Convert geneids into GRanges</h1> + + <div class="hidden name"><code>genes_to_granges.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Convert geneids into GRanges</p> + </div> + + <pre class="usage"><span class='fu'>genes_to_granges</span>(<span class='no'>geneids</span>, <span class='no'>txdb</span>, <span class='kw'>complement</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>) + +<span class='fu'>genefile_to_granges</span>(<span class='no'>file</span>, <span class='no'>txdb</span>, <span class='kw'>complement</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>geneids</th> + <td><p>Gene identifier vector</p></td> + </tr> + <tr> + <th>txdb</th> + <td><p><code><a href='https://rdrr.io/pkg/GenomicFeatures/man/TxDb-class.html'>TxDb-class</a></code> or +<code><a href='https://rdrr.io/pkg/ensembldb/man/EnsDb-class.html'>EnsDb-class</a></code></p></td> + </tr> + <tr> + <th>complement</th> + <td><p>TRUE (default) or FALSE: add complementary strand?</p></td> + </tr> + <tr> + <th>plot</th> + <td><p>TRUE (default) or FALSE</p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>TRUE (default) or FALSE</p></td> + </tr> + <tr> + <th>file</th> + <td><p>Gene identifier file (one per row)</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> + <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2> + + <div class='dont-index'><p><code><a href='char_to_granges.html'>char_to_granges</a></code>, <code><a href='bed_to_granges.html'>bed_to_granges</a></code></p></div> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='co'># Entrez</span> +<span class='co'>#-------</span> + <span class='no'>genefile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.entrez'</span>, <span class='kw'>package</span><span class='kw'>=</span><span class='st'>'multicrispr'</span>) + <span class='no'>geneids</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/character.html'>as.character</a></span>(<span class='fu'><a href='https://rdrr.io/r/utils/read.table.html'>read.table</a></span>(<span class='no'>genefile</span>)<span class='kw'>[[</span><span class='fl'>1</span>]]) + <span class='no'>txdb</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/utils/getFromNamespace.html'>getFromNamespace</a></span>(<span class='st'>'TxDb.Mmusculus.UCSC.mm10.knownGene'</span>, + <span class='st'>'TxDb.Mmusculus.UCSC.mm10.knownGene'</span>) + (<span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'>genes_to_granges</span>(<span class='no'>geneids</span>, <span class='no'>txdb</span>))</div><div class='output co'>#> <span class='message'> Convert 10 genes to 10 GRanges</span></div><div class='output co'>#> <span class='message'> 20 ranges after adding inverse strands</span></div><div class='output co'>#> GRanges object with 20 ranges and 4 metadata columns: +#> seqnames ranges strand | gene_id targetname +#> <Rle> <IRanges> <Rle> | <character> <character> +#> 27392_r chr1 105518422-105663677 - | 27392 27392_r +#> 27392_f chr1 105518422-105663677 + | 27392 27392_f +#> 100043424_r chr2 128178319-128502765 - | 100043424 100043424_r +#> 100043424_f chr2 128178319-128502765 + | 100043424 100043424_f +#> 622434_f chr3 62338344-62462221 + | 622434 622434_f +#> ... ... ... ... . ... ... +#> 71918_f chr14 25711642-25769039 + | 71918 71918_f +#> 13653_f chr18 34859823-34864984 + | 13653 13653_f +#> 13653_r chr18 34859823-34864984 - | 13653 13653_r +#> 52662_f chr18 67933257-68268630 + | 52662 52662_f +#> 52662_r chr18 67933257-68268630 - | 52662 52662_r +#> targetstart targetend +#> <integer> <integer> +#> 27392_r 105518422 105663677 +#> 27392_f 105518422 105663677 +#> 100043424_r 128178319 128502765 +#> 100043424_f 128178319 128502765 +#> 622434_f 62338344 62462221 +#> ... ... ... +#> 71918_f 25711642 25769039 +#> 13653_f 34859823 34864984 +#> 13653_r 34859823 34864984 +#> 52662_f 67933257 68268630 +#> 52662_r 67933257 68268630 +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div><div class='input'> (<span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'>genefile_to_granges</span>(<span class='no'>genefile</span>, <span class='no'>txdb</span>))</div><div class='output co'>#> <span class='message'> Convert 10 genes to 10 GRanges</span></div><div class='output co'>#> <span class='message'> 20 ranges after adding inverse strands</span></div><div class='img'><img src='genes_to_granges-1.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 20 ranges and 4 metadata columns: +#> seqnames ranges strand | gene_id targetname +#> <Rle> <IRanges> <Rle> | <character> <character> +#> 27392_r chr1 105518422-105663677 - | 27392 27392_r +#> 27392_f chr1 105518422-105663677 + | 27392 27392_f +#> 100043424_r chr2 128178319-128502765 - | 100043424 100043424_r +#> 100043424_f chr2 128178319-128502765 + | 100043424 100043424_f +#> 622434_f chr3 62338344-62462221 + | 622434 622434_f +#> ... ... ... ... . ... ... +#> 71918_f chr14 25711642-25769039 + | 71918 71918_f +#> 13653_f chr18 34859823-34864984 + | 13653 13653_f +#> 13653_r chr18 34859823-34864984 - | 13653 13653_r +#> 52662_f chr18 67933257-68268630 + | 52662 52662_f +#> 52662_r chr18 67933257-68268630 - | 52662 52662_r +#> targetstart targetend +#> <integer> <integer> +#> 27392_r 105518422 105663677 +#> 27392_f 105518422 105663677 +#> 100043424_r 128178319 128502765 +#> 100043424_f 128178319 128502765 +#> 622434_f 62338344 62462221 +#> ... ... ... +#> 71918_f 25711642 25769039 +#> 13653_f 34859823 34864984 +#> 13653_r 34859823 34864984 +#> 52662_f 67933257 68268630 +#> 52662_r 67933257 68268630 +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div><div class='input'> +<span class='co'># Ensembl</span> +<span class='co'>#--------</span> + <span class='no'>txdb</span> <span class='kw'><-</span> <span class='fu'><a href='EnsDb.Mmusculus.v98.html'>EnsDb.Mmusculus.v98</a></span>()</div><div class='output co'>#> <span class='message'>snapshotDate(): 2019-10-29</span></div><div class='output co'>#> <span class='message'>loading from cache</span></div><div class='input'> <span class='no'>genefile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.ensembl'</span>, <span class='kw'>package</span><span class='kw'>=</span><span class='st'>'multicrispr'</span>) + <span class='no'>geneids</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/character.html'>as.character</a></span>(<span class='fu'><a href='https://rdrr.io/r/utils/read.table.html'>read.table</a></span>(<span class='no'>genefile</span>)<span class='kw'>[[</span><span class='fl'>1</span>]]) + (<span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'>genes_to_granges</span>(<span class='no'>geneids</span>, <span class='no'>txdb</span>))</div><div class='output co'>#> <span class='message'> Convert 10 genes to 10 GRanges</span></div><div class='output co'>#> <span class='message'> 20 ranges after adding inverse strands</span></div><div class='img'><img src='genes_to_granges-2.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 20 ranges and 11 metadata columns: +#> seqnames ranges strand | gene_id +#> <Rle> <IRanges> <Rle> | <character> +#> ENSMUSG00000056536_r 1 105518422-105663677 - | ENSMUSG00000056536 +#> ENSMUSG00000056536_f 1 105518422-105663677 + | ENSMUSG00000056536 +#> ENSMUSG00000074813_r 2 128178319-128502765 - | ENSMUSG00000074813 +#> ENSMUSG00000074813_f 2 128178319-128502765 + | ENSMUSG00000074813 +#> ENSMUSG00000036885_f 3 62338344-62462221 + | ENSMUSG00000036885 +#> ... ... ... ... . ... +#> ENSMUSG00000055538_f 14 25711642-25769039 + | ENSMUSG00000055538 +#> ENSMUSG00000038418_f 18 34859823-34864984 + | ENSMUSG00000038418 +#> ENSMUSG00000038418_r 18 34859823-34864984 - | ENSMUSG00000038418 +#> ENSMUSG00000024544_f 18 67933257-68268630 + | ENSMUSG00000024544 +#> ENSMUSG00000024544_r 18 67933257-68268630 - | ENSMUSG00000024544 +#> gene_name gene_biotype seq_coord_system +#> <character> <character> <character> +#> ENSMUSG00000056536_r Pign protein_coding chromosome +#> ENSMUSG00000056536_f Pign protein_coding chromosome +#> ENSMUSG00000074813_r Morrbid lncRNA chromosome +#> ENSMUSG00000074813_f Morrbid lncRNA chromosome +#> ENSMUSG00000036885_f Arhgef26 protein_coding chromosome +#> ... ... ... ... +#> ENSMUSG00000055538_f Zcchc24 protein_coding chromosome +#> ENSMUSG00000038418_f Egr1 protein_coding chromosome +#> ENSMUSG00000038418_r Egr1 protein_coding chromosome +#> ENSMUSG00000024544_f Ldlrad4 protein_coding chromosome +#> ENSMUSG00000024544_r Ldlrad4 protein_coding chromosome +#> description +#> <character> +#> ENSMUSG00000056536_r phosphatidylinositol glycan anchor biosynthesis, class N [Source:MGI Symbol;Acc:MGI:1351629] +#> ENSMUSG00000056536_f phosphatidylinositol glycan anchor biosynthesis, class N [Source:MGI Symbol;Acc:MGI:1351629] +#> ENSMUSG00000074813_r myeloid RNA regulator of BCL2L11 induced cell death [Source:MGI Symbol;Acc:MGI:3652191] +#> ENSMUSG00000074813_f myeloid RNA regulator of BCL2L11 induced cell death [Source:MGI Symbol;Acc:MGI:3652191] +#> ENSMUSG00000036885_f Rho guanine nucleotide exchange factor (GEF) 26 [Source:MGI Symbol;Acc:MGI:1918053] +#> ... ... +#> ENSMUSG00000055538_f zinc finger, CCHC domain containing 24 [Source:MGI Symbol;Acc:MGI:1919168] +#> ENSMUSG00000038418_f early growth response 1 [Source:MGI Symbol;Acc:MGI:95295] +#> ENSMUSG00000038418_r early growth response 1 [Source:MGI Symbol;Acc:MGI:95295] +#> ENSMUSG00000024544_f low density lipoprotein receptor class A domain containing 4 [Source:MGI Symbol;Acc:MGI:1277150] +#> ENSMUSG00000024544_r low density lipoprotein receptor class A domain containing 4 [Source:MGI Symbol;Acc:MGI:1277150] +#> gene_id_version symbol entrezid +#> <character> <character> <list> +#> ENSMUSG00000056536_r ENSMUSG00000056536.14 Pign 27392 +#> ENSMUSG00000056536_f ENSMUSG00000056536.14 Pign 27392 +#> ENSMUSG00000074813_r ENSMUSG00000074813.13 Morrbid NA +#> ENSMUSG00000074813_f ENSMUSG00000074813.13 Morrbid NA +#> ENSMUSG00000036885_f ENSMUSG00000036885.14 Arhgef26 622434 +#> ... ... ... ... +#> ENSMUSG00000055538_f ENSMUSG00000055538.7 Zcchc24 71918 +#> ENSMUSG00000038418_f ENSMUSG00000038418.7 Egr1 13653 +#> ENSMUSG00000038418_r ENSMUSG00000038418.7 Egr1 13653 +#> ENSMUSG00000024544_f ENSMUSG00000024544.9 Ldlrad4 52662 +#> ENSMUSG00000024544_r ENSMUSG00000024544.9 Ldlrad4 52662 +#> targetname targetstart targetend +#> <character> <integer> <integer> +#> ENSMUSG00000056536_r ENSMUSG00000056536_r 105518422 105663677 +#> ENSMUSG00000056536_f ENSMUSG00000056536_f 105518422 105663677 +#> ENSMUSG00000074813_r ENSMUSG00000074813_r 128178319 128502765 +#> ENSMUSG00000074813_f ENSMUSG00000074813_f 128178319 128502765 +#> ENSMUSG00000036885_f ENSMUSG00000036885_f 62338344 62462221 +#> ... ... ... ... +#> ENSMUSG00000055538_f ENSMUSG00000055538_f 25711642 25769039 +#> ENSMUSG00000038418_f ENSMUSG00000038418_f 34859823 34864984 +#> ENSMUSG00000038418_r ENSMUSG00000038418_r 34859823 34864984 +#> ENSMUSG00000024544_f ENSMUSG00000024544_f 67933257 68268630 +#> ENSMUSG00000024544_r ENSMUSG00000024544_r 67933257 68268630 +#> ------- +#> seqinfo: 118 sequences from GRCm38 genome</div><div class='input'> (<span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'>genefile_to_granges</span>(<span class='no'>genefile</span>, <span class='no'>txdb</span>))</div><div class='output co'>#> <span class='message'> Convert 10 genes to 10 GRanges</span></div><div class='output co'>#> <span class='message'> 20 ranges after adding inverse strands</span></div><div class='output co'>#> GRanges object with 20 ranges and 11 metadata columns: +#> seqnames ranges strand | gene_id +#> <Rle> <IRanges> <Rle> | <character> +#> ENSMUSG00000056536_r 1 105518422-105663677 - | ENSMUSG00000056536 +#> ENSMUSG00000056536_f 1 105518422-105663677 + | ENSMUSG00000056536 +#> ENSMUSG00000074813_r 2 128178319-128502765 - | ENSMUSG00000074813 +#> ENSMUSG00000074813_f 2 128178319-128502765 + | ENSMUSG00000074813 +#> ENSMUSG00000036885_f 3 62338344-62462221 + | ENSMUSG00000036885 +#> ... ... ... ... . ... +#> ENSMUSG00000055538_f 14 25711642-25769039 + | ENSMUSG00000055538 +#> ENSMUSG00000038418_f 18 34859823-34864984 + | ENSMUSG00000038418 +#> ENSMUSG00000038418_r 18 34859823-34864984 - | ENSMUSG00000038418 +#> ENSMUSG00000024544_f 18 67933257-68268630 + | ENSMUSG00000024544 +#> ENSMUSG00000024544_r 18 67933257-68268630 - | ENSMUSG00000024544 +#> gene_name gene_biotype seq_coord_system +#> <character> <character> <character> +#> ENSMUSG00000056536_r Pign protein_coding chromosome +#> ENSMUSG00000056536_f Pign protein_coding chromosome +#> ENSMUSG00000074813_r Morrbid lncRNA chromosome +#> ENSMUSG00000074813_f Morrbid lncRNA chromosome +#> ENSMUSG00000036885_f Arhgef26 protein_coding chromosome +#> ... ... ... ... +#> ENSMUSG00000055538_f Zcchc24 protein_coding chromosome +#> ENSMUSG00000038418_f Egr1 protein_coding chromosome +#> ENSMUSG00000038418_r Egr1 protein_coding chromosome +#> ENSMUSG00000024544_f Ldlrad4 protein_coding chromosome +#> ENSMUSG00000024544_r Ldlrad4 protein_coding chromosome +#> description +#> <character> +#> ENSMUSG00000056536_r phosphatidylinositol glycan anchor biosynthesis, class N [Source:MGI Symbol;Acc:MGI:1351629] +#> ENSMUSG00000056536_f phosphatidylinositol glycan anchor biosynthesis, class N [Source:MGI Symbol;Acc:MGI:1351629] +#> ENSMUSG00000074813_r myeloid RNA regulator of BCL2L11 induced cell death [Source:MGI Symbol;Acc:MGI:3652191] +#> ENSMUSG00000074813_f myeloid RNA regulator of BCL2L11 induced cell death [Source:MGI Symbol;Acc:MGI:3652191] +#> ENSMUSG00000036885_f Rho guanine nucleotide exchange factor (GEF) 26 [Source:MGI Symbol;Acc:MGI:1918053] +#> ... ... +#> ENSMUSG00000055538_f zinc finger, CCHC domain containing 24 [Source:MGI Symbol;Acc:MGI:1919168] +#> ENSMUSG00000038418_f early growth response 1 [Source:MGI Symbol;Acc:MGI:95295] +#> ENSMUSG00000038418_r early growth response 1 [Source:MGI Symbol;Acc:MGI:95295] +#> ENSMUSG00000024544_f low density lipoprotein receptor class A domain containing 4 [Source:MGI Symbol;Acc:MGI:1277150] +#> ENSMUSG00000024544_r low density lipoprotein receptor class A domain containing 4 [Source:MGI Symbol;Acc:MGI:1277150] +#> gene_id_version symbol entrezid +#> <character> <character> <list> +#> ENSMUSG00000056536_r ENSMUSG00000056536.14 Pign 27392 +#> ENSMUSG00000056536_f ENSMUSG00000056536.14 Pign 27392 +#> ENSMUSG00000074813_r ENSMUSG00000074813.13 Morrbid NA +#> ENSMUSG00000074813_f ENSMUSG00000074813.13 Morrbid NA +#> ENSMUSG00000036885_f ENSMUSG00000036885.14 Arhgef26 622434 +#> ... ... ... ... +#> ENSMUSG00000055538_f ENSMUSG00000055538.7 Zcchc24 71918 +#> ENSMUSG00000038418_f ENSMUSG00000038418.7 Egr1 13653 +#> ENSMUSG00000038418_r ENSMUSG00000038418.7 Egr1 13653 +#> ENSMUSG00000024544_f ENSMUSG00000024544.9 Ldlrad4 52662 +#> ENSMUSG00000024544_r ENSMUSG00000024544.9 Ldlrad4 52662 +#> targetname targetstart targetend +#> <character> <integer> <integer> +#> ENSMUSG00000056536_r ENSMUSG00000056536_r 105518422 105663677 +#> ENSMUSG00000056536_f ENSMUSG00000056536_f 105518422 105663677 +#> ENSMUSG00000074813_r ENSMUSG00000074813_r 128178319 128502765 +#> ENSMUSG00000074813_f ENSMUSG00000074813_f 128178319 128502765 +#> ENSMUSG00000036885_f ENSMUSG00000036885_f 62338344 62462221 +#> ... ... ... ... +#> ENSMUSG00000055538_f ENSMUSG00000055538_f 25711642 25769039 +#> ENSMUSG00000038418_f ENSMUSG00000038418_f 34859823 34864984 +#> ENSMUSG00000038418_r ENSMUSG00000038418_r 34859823 34864984 +#> ENSMUSG00000024544_f ENSMUSG00000024544_f 67933257 68268630 +#> ENSMUSG00000024544_r ENSMUSG00000024544_r 67933257 68268630 +#> ------- +#> seqinfo: 118 sequences from GRCm38 genome</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#see-also">See also</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/get_bsgenome.html b/public/reference/get_bsgenome.html index 6e5afd99c7d6dd7ffe32ee8bb933e4a6e1cac24c..f4c0da65ef3432f4ecf081475ebbf654e640523e 100644 --- a/public/reference/get_bsgenome.html +++ b/public/reference/get_bsgenome.html @@ -1,197 +1,197 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Get BSgenome — get_bsgenome • multicrispr</title> - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - -<meta property="og:title" content="Get BSgenome — get_bsgenome" /> - -<meta property="og:description" content="Get BSgenome" /> -<meta name="twitter:card" content="summary" /> - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/using_multicrispr.html">Using multicrispr</a> - </li> - </ul> -</li> - </ul> - - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Get BSgenome</h1> - - <div class="hidden name"><code>get_bsgenome.Rd</code></div> - </div> - - <div class="ref-description"> - - <p>Get BSgenome</p> - - </div> - - <pre class="usage"><span class='fu'>get_bsgenome</span>(<span class='no'>granges</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>granges</th> - <td><p>GenomicRanges::GRanges</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>BSgenome</p> - - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) -<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span><span class='kw'>=</span><span class='st'>'multicrispr'</span>) -<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> -<span class='no'>granges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>) <span class='kw'>%>%</span> <span class='fu'><a href='flank_fourways.html'>flank_fourways</a></span>()</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='output co'>#> <span class='message'> Flank fourways</span></div><div class='output co'>#> <span class='message'> 1974 left flanks : [start-200, start-1]</span></div><div class='output co'>#> <span class='message'> 1974 right flanks : [end+1, end+200]</span></div><div class='output co'>#> <span class='message'> 3948 combined (left + right)</span></div><div class='output co'>#> <span class='message'> 7896 after adding strand-complements</span></div><div class='output co'>#> <span class='message'> 7306 after merging overlaps</span></div><div class='input'><span class='no'>granges</span> <span class='kw'>%>%</span> <span class='fu'>get_bsgenome</span>()</div><div class='output co'>#> Mouse genome: -#> # organism: Mus musculus (Mouse) -#> # provider: UCSC -#> # provider version: mm10 -#> # release date: Dec. 2011 -#> # release name: Genome Reference Consortium GRCm38 -#> # 66 sequences: -#> # chr1 chr2 chr3 -#> # chr4 chr5 chr6 -#> # chr7 chr8 chr9 -#> # chr10 chr11 chr12 -#> # chr13 chr14 chr15 -#> # ... ... ... -#> # chrUn_GL456372 chrUn_GL456378 chrUn_GL456379 -#> # chrUn_GL456381 chrUn_GL456382 chrUn_GL456383 -#> # chrUn_GL456385 chrUn_GL456387 chrUn_GL456389 -#> # chrUn_GL456390 chrUn_GL456392 chrUn_GL456393 -#> # chrUn_GL456394 chrUn_GL456396 chrUn_JH584304 -#> # (use 'seqnames()' to see all the sequence names, use the '$' or '[[' operator -#> # to access a given sequence)</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - - <li><a href="#value">Value</a></li> - - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Get BSgenome — get_bsgenome • multicrispr</title> + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + +<meta property="og:title" content="Get BSgenome — get_bsgenome" /> + +<meta property="og:description" content="Get BSgenome" /> +<meta name="twitter:card" content="summary" /> + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/using_multicrispr.html">Using multicrispr</a> + </li> + </ul> +</li> + </ul> + + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Get BSgenome</h1> + + <div class="hidden name"><code>get_bsgenome.Rd</code></div> + </div> + + <div class="ref-description"> + + <p>Get BSgenome</p> + + </div> + + <pre class="usage"><span class='fu'>get_bsgenome</span>(<span class='no'>granges</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>granges</th> + <td><p>GenomicRanges::GRanges</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>BSgenome</p> + + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) +<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span><span class='kw'>=</span><span class='st'>'multicrispr'</span>) +<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> +<span class='no'>granges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>) <span class='kw'>%>%</span> <span class='fu'><a href='flank_fourways.html'>flank_fourways</a></span>()</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='output co'>#> <span class='message'> Flank fourways</span></div><div class='output co'>#> <span class='message'> 1974 left flanks : [start-200, start-1]</span></div><div class='output co'>#> <span class='message'> 1974 right flanks : [end+1, end+200]</span></div><div class='output co'>#> <span class='message'> 3948 combined (left + right)</span></div><div class='output co'>#> <span class='message'> 7896 after adding strand-complements</span></div><div class='output co'>#> <span class='message'> 7306 after merging overlaps</span></div><div class='input'><span class='no'>granges</span> <span class='kw'>%>%</span> <span class='fu'>get_bsgenome</span>()</div><div class='output co'>#> Mouse genome: +#> # organism: Mus musculus (Mouse) +#> # provider: UCSC +#> # provider version: mm10 +#> # release date: Dec. 2011 +#> # release name: Genome Reference Consortium GRCm38 +#> # 66 sequences: +#> # chr1 chr2 chr3 +#> # chr4 chr5 chr6 +#> # chr7 chr8 chr9 +#> # chr10 chr11 chr12 +#> # chr13 chr14 chr15 +#> # ... ... ... +#> # chrUn_GL456372 chrUn_GL456378 chrUn_GL456379 +#> # chrUn_GL456381 chrUn_GL456382 chrUn_GL456383 +#> # chrUn_GL456385 chrUn_GL456387 chrUn_GL456389 +#> # chrUn_GL456390 chrUn_GL456392 chrUn_GL456393 +#> # chrUn_GL456394 chrUn_GL456396 chrUn_JH584304 +#> # (use 'seqnames()' to see all the sequence names, use the '$' or '[[' operator +#> # to access a given sequence)</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + + <li><a href="#value">Value</a></li> + + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/gr2dt.html b/public/reference/gr2dt.html index 9de33a343fe465bc0ae3369d6a7dae0e9e598781..35add6e4a07929c0dfcae44972cd1082c0ff639c 100644 --- a/public/reference/gr2dt.html +++ b/public/reference/gr2dt.html @@ -1,205 +1,205 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>GRanges <-> data.table — gr2dt • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="GRanges <-> data.table — gr2dt" /> -<meta property="og:description" content="GRanges &lt;-&gt; data.table" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>GRanges <-> data.table</h1> - - <div class="hidden name"><code>gr2dt.Rd</code></div> - </div> - - <div class="ref-description"> - <p>GRanges <-> data.table</p> - </div> - - <pre class="usage"><span class='fu'>gr2dt</span>(<span class='no'>gr</span>) - -<span class='fu'>dt2gr</span>(<span class='no'>dt</span>, <span class='no'>seqinfo</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>gr</th> - <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> - </tr> - <tr> - <th>dt</th> - <td><p>data.table</p></td> - </tr> - <tr> - <th>seqinfo</th> - <td><p><code><a href='https://rdrr.io/pkg/GenomeInfoDb/man/Seqinfo-class.html'>Seqinfo-class</a></code></p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>data.table (gr2dt) or GRanges (dt2gr)</p> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> -<span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> - <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> - <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> - <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> - <span class='no'>bsgenome</span>) -(<span class='no'>dt</span> <span class='kw'><-</span> <span class='fu'>gr2dt</span>(<span class='no'>gr</span>))</div><div class='output co'>#> seqnames start end width strand targetname targetstart targetend -#> 1: chr20 4699600 4699600 1 + PRNP 4699600 4699600 -#> 2: chr11 5227002 5227002 1 - HBB 5227002 5227002 -#> 3: chr15 72346580 72346583 4 - HEXA 72346580 72346583 -#> 4: chr7 117559593 117559595 3 + CFTR 117559593 117559595 -#> names -#> 1: PRNP -#> 2: HBB -#> 3: HEXA -#> 4: CFTR</div><div class='input'>(<span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'>dt2gr</span>(<span class='no'>dt</span>, <span class='kw pkg'>BSgenome</span><span class='kw ns'>::</span><span class='fu'>seqinfo</span>(<span class='no'>bsgenome</span>)))</div><div class='output co'>#> GRanges object with 4 ranges and 3 metadata columns: -#> seqnames ranges strand | targetname targetstart targetend -#> <Rle> <IRanges> <Rle> | <character> <integer> <integer> -#> PRNP chr20 4699600 + | PRNP 4699600 4699600 -#> HBB chr11 5227002 - | HBB 5227002 5227002 -#> HEXA chr15 72346580-72346583 - | HEXA 72346580 72346583 -#> CFTR chr7 117559593-117559595 + | CFTR 117559593 117559595 -#> ------- -#> seqinfo: 455 sequences (1 circular) from hg38 genome</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>GRanges <-> data.table — gr2dt • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="GRanges <-> data.table — gr2dt" /> +<meta property="og:description" content="GRanges &lt;-&gt; data.table" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>GRanges <-> data.table</h1> + + <div class="hidden name"><code>gr2dt.Rd</code></div> + </div> + + <div class="ref-description"> + <p>GRanges <-> data.table</p> + </div> + + <pre class="usage"><span class='fu'>gr2dt</span>(<span class='no'>gr</span>) + +<span class='fu'>dt2gr</span>(<span class='no'>dt</span>, <span class='no'>seqinfo</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>gr</th> + <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> + </tr> + <tr> + <th>dt</th> + <td><p>data.table</p></td> + </tr> + <tr> + <th>seqinfo</th> + <td><p><code><a href='https://rdrr.io/pkg/GenomeInfoDb/man/Seqinfo-class.html'>Seqinfo-class</a></code></p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>data.table (gr2dt) or GRanges (dt2gr)</p> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> +<span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> + <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> + <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> + <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> + <span class='no'>bsgenome</span>) +(<span class='no'>dt</span> <span class='kw'><-</span> <span class='fu'>gr2dt</span>(<span class='no'>gr</span>))</div><div class='output co'>#> seqnames start end width strand targetname targetstart targetend +#> 1: chr20 4699600 4699600 1 + PRNP 4699600 4699600 +#> 2: chr11 5227002 5227002 1 - HBB 5227002 5227002 +#> 3: chr15 72346580 72346583 4 - HEXA 72346580 72346583 +#> 4: chr7 117559593 117559595 3 + CFTR 117559593 117559595 +#> names +#> 1: PRNP +#> 2: HBB +#> 3: HEXA +#> 4: CFTR</div><div class='input'>(<span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'>dt2gr</span>(<span class='no'>dt</span>, <span class='kw pkg'>BSgenome</span><span class='kw ns'>::</span><span class='fu'>seqinfo</span>(<span class='no'>bsgenome</span>)))</div><div class='output co'>#> GRanges object with 4 ranges and 3 metadata columns: +#> seqnames ranges strand | targetname targetstart targetend +#> <Rle> <IRanges> <Rle> | <character> <integer> <integer> +#> PRNP chr20 4699600 + | PRNP 4699600 4699600 +#> HBB chr11 5227002 - | HBB 5227002 5227002 +#> HEXA chr15 72346580-72346583 - | HEXA 72346580 72346583 +#> CFTR chr7 117559593-117559595 + | CFTR 117559593 117559595 +#> ------- +#> seqinfo: 455 sequences (1 circular) from hg38 genome</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/has_been_indexed.html b/public/reference/has_been_indexed.html index 6c70234746f1cc7a947b1ab81ccc16e1f83d9213..11c16e0f188d1a8bd49a628fcd39647050d09cd8 100644 --- a/public/reference/has_been_indexed.html +++ b/public/reference/has_been_indexed.html @@ -1,173 +1,173 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Has been indexed? — has_been_indexed • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Has been indexed? — has_been_indexed" /> -<meta property="og:description" content="Has been indexed?" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Has been indexed?</h1> - - <div class="hidden name"><code>has_been_indexed.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Has been indexed?</p> - </div> - - <pre class="usage"><span class='fu'>has_been_indexed</span>(<span class='no'>bsgenome</span>, <span class='kw'>indexedgenomesdir</span> <span class='kw'>=</span> <span class='no'>INDEXEDGENOMESDIR</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>bsgenome</th> - <td><p>BSgenome</p></td> - </tr> - <tr> - <th>indexedgenomesdir</th> - <td><p>directory with indexed genomes</p></td> - </tr> - </table> - - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> -<span class='fu'>has_been_indexed</span>(<span class='no'>bsgenome</span>)</div><div class='output co'>#> [1] TRUE</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Has been indexed? — has_been_indexed • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Has been indexed? — has_been_indexed" /> +<meta property="og:description" content="Has been indexed?" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Has been indexed?</h1> + + <div class="hidden name"><code>has_been_indexed.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Has been indexed?</p> + </div> + + <pre class="usage"><span class='fu'>has_been_indexed</span>(<span class='no'>bsgenome</span>, <span class='kw'>indexedgenomesdir</span> <span class='kw'>=</span> <span class='no'>INDEXEDGENOMESDIR</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>bsgenome</th> + <td><p>BSgenome</p></td> + </tr> + <tr> + <th>indexedgenomesdir</th> + <td><p>directory with indexed genomes</p></td> + </tr> + </table> + + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> +<span class='fu'>has_been_indexed</span>(<span class='no'>bsgenome</span>)</div><div class='output co'>#> [1] TRUE</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/index.html b/public/reference/index.html index 64f63008fa2a728017283a11e04b878f35a3a70d..94ec764c22ad838c59d25b7d5d1c8a0be2ddda72 100644 --- a/public/reference/index.html +++ b/public/reference/index.html @@ -1,343 +1,343 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Function reference • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Function reference" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-index"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="contents col-md-9"> - <div class="page-header"> - <h1>Reference</h1> - </div> - - <table class="ref-index"> - - <colgroup> - - <col class="alias" /> - <col class="title" /> - </colgroup> - - <tbody> - <tr> - <th colspan="2"> - <h2 id="section-all-functions" class="hasAnchor"><a href="#section-all-functions" class="anchor"></a>All functions</h2> - <p class="section-desc"></p> - </th> - </tr> - <tr> - - <td> - <p><code><a href="add_context.html">add_context()</a></code> </p> - </td> - <td><p>Add [-4, +3] context</p></td> - </tr><tr> - - <td> - <p><code><a href="add_efficiency.html">add_efficiency()</a></code> <code><a href="add_efficiency.html">filter_efficient()</a></code> </p> - </td> - <td><p>Add efficiency scores and filter</p></td> - </tr><tr> - - <td> - <p><code><a href="add_genome_counts.html">add_genome_counts()</a></code> </p> - </td> - <td><p>Add genome counts</p></td> - </tr><tr> - - <td> - <p><code><a href="add_inverse_strand.html">add_inverse_strand()</a></code> </p> - </td> - <td><p>Add inverse strand</p></td> - </tr><tr> - - <td> - <p><code><a href="add_offtargets.html">add_specificity()</a></code> <code><a href="add_offtargets.html">add_offtargets()</a></code> </p> - </td> - <td><p>Add offtarget counts</p></td> - </tr><tr> - - <td> - <p><code><a href="add_seq.html">add_seq()</a></code> </p> - </td> - <td><p>Add sequence to GRanges</p></td> - </tr><tr> - - <td> - <p><code><a href="add_target_counts.html">add_target_counts()</a></code> </p> - </td> - <td><p>Add target counts</p></td> - </tr><tr> - - <td> - <p><code><a href="bed_to_granges.html">bed_to_granges()</a></code> </p> - </td> - <td><p>Read bedfile into GRanges</p></td> - </tr><tr> - - <td> - <p><code><a href="char_to_granges.html">char_to_granges()</a></code> </p> - </td> - <td><p>Convert character vector into GRanges</p></td> - </tr><tr> - - <td> - <p><code><a href="double_flank.html">double_flank()</a></code> </p> - </td> - <td><p>Double flank</p></td> - </tr><tr> - - <td> - <p><code><a href="EnsDb.Hsapiens.v99.html">EnsDb.Hsapiens.v99()</a></code> </p> - </td> - <td><p>Get EnsDb.Hsapiens.v98 from AnnotationHub</p></td> - </tr><tr> - - <td> - <p><code><a href="EnsDb.Mmusculus.v98.html">EnsDb.Mmusculus.v98()</a></code> </p> - </td> - <td><p>Get EnsDb.Mmusculus.v98 from AnnotationHub</p></td> - </tr><tr> - - <td> - <p><code><a href="extend_for_pe.html">extend_for_pe()</a></code> </p> - </td> - <td><p>Extend ranges for prime editing</p></td> - </tr><tr> - - <td> - <p><code><a href="extend_pe_to_gg.html">extend_pe_to_gg()</a></code> </p> - </td> - <td><p>Extend prime editing target to find GG sites</p></td> - </tr><tr> - - <td> - <p><code><a href="extract_matchranges.html">extract_matchranges()</a></code> </p> - </td> - <td><p>Extract matching subranges</p></td> - </tr><tr> - - <td> - <p><code><a href="extract_subranges.html">extract_subranges()</a></code> </p> - </td> - <td><p>Extract subranges</p></td> - </tr><tr> - - <td> - <p><code><a href="find_gg.html">find_gg()</a></code> </p> - </td> - <td><p>Find GG</p></td> - </tr><tr> - - <td> - <p><code><a href="find_pe_spacers.html">find_pe_spacers()</a></code> </p> - </td> - <td><p>Find prime editing spacers</p></td> - </tr><tr> - - <td> - <p><code><a href="find_spacers.html">find_spacers()</a></code> </p> - </td> - <td><p>Find crispr spacers in targetranges</p></td> - </tr><tr> - - <td> - <p><code><a href="genes_to_granges.html">genes_to_granges()</a></code> <code><a href="genes_to_granges.html">genefile_to_granges()</a></code> </p> - </td> - <td><p>Convert geneids into GRanges</p></td> - </tr><tr> - - <td> - <p><code><a href="gr2dt.html">gr2dt()</a></code> <code><a href="gr2dt.html">dt2gr()</a></code> </p> - </td> - <td><p>GRanges <-> data.table</p></td> - </tr><tr> - - <td> - <p><code><a href="has_been_indexed.html">has_been_indexed()</a></code> </p> - </td> - <td><p>Has been indexed?</p></td> - </tr><tr> - - <td> - <p><code><a href="index_genome.html">index_genome()</a></code> </p> - </td> - <td><p>Index genome</p></td> - </tr><tr> - - <td> - <p><code><a href="index_targets.html">index_targets()</a></code> </p> - </td> - <td><p>Index targets</p></td> - </tr><tr> - - <td> - <p><code><a href="make_unique_names.html">make_unique_names()</a></code> </p> - </td> - <td><p>Make unique names</p></td> - </tr><tr> - - <td> - <p><code><a href="match_seqs.html">match_seqs()</a></code> </p> - </td> - <td><p>Match spacer sequences</p></td> - </tr><tr> - - <td> - <p><code><a href="match_spacers.html">match_spacers()</a></code> </p> - </td> - <td><p>Match spacers</p></td> - </tr><tr> - - <td> - <p><code><a href="plot_intervals.html">plot_intervals()</a></code> </p> - </td> - <td><p>Interval plot GRanges</p></td> - </tr><tr> - - <td> - <p><code><a href="plot_karyogram.html">plot_karyogram()</a></code> </p> - </td> - <td><p>Karyo/Interval Plot GRanges(List)</p></td> - </tr><tr> - - <td> - <p><code><a href="up_flank.html">up_flank()</a></code> <code><a href="up_flank.html">down_flank()</a></code> <code><a href="up_flank.html">extend()</a></code> </p> - </td> - <td><p>Extend or Flank GRanges</p></td> - </tr> - </tbody> - </table> - </div> - - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#section-all-functions">All functions</a></li> - </ul> - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Function reference • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Function reference" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-index"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="contents col-md-9"> + <div class="page-header"> + <h1>Reference</h1> + </div> + + <table class="ref-index"> + + <colgroup> + + <col class="alias" /> + <col class="title" /> + </colgroup> + + <tbody> + <tr> + <th colspan="2"> + <h2 id="section-all-functions" class="hasAnchor"><a href="#section-all-functions" class="anchor"></a>All functions</h2> + <p class="section-desc"></p> + </th> + </tr> + <tr> + + <td> + <p><code><a href="add_context.html">add_context()</a></code> </p> + </td> + <td><p>Add [-4, +3] context</p></td> + </tr><tr> + + <td> + <p><code><a href="add_efficiency.html">add_efficiency()</a></code> <code><a href="add_efficiency.html">filter_efficient()</a></code> </p> + </td> + <td><p>Add efficiency scores and filter</p></td> + </tr><tr> + + <td> + <p><code><a href="add_genome_counts.html">add_genome_counts()</a></code> </p> + </td> + <td><p>Add genome counts</p></td> + </tr><tr> + + <td> + <p><code><a href="add_inverse_strand.html">add_inverse_strand()</a></code> </p> + </td> + <td><p>Add inverse strand</p></td> + </tr><tr> + + <td> + <p><code><a href="add_offtargets.html">add_specificity()</a></code> <code><a href="add_offtargets.html">add_offtargets()</a></code> </p> + </td> + <td><p>Add offtarget counts</p></td> + </tr><tr> + + <td> + <p><code><a href="add_seq.html">add_seq()</a></code> </p> + </td> + <td><p>Add sequence to GRanges</p></td> + </tr><tr> + + <td> + <p><code><a href="add_target_counts.html">add_target_counts()</a></code> </p> + </td> + <td><p>Add target counts</p></td> + </tr><tr> + + <td> + <p><code><a href="bed_to_granges.html">bed_to_granges()</a></code> </p> + </td> + <td><p>Read bedfile into GRanges</p></td> + </tr><tr> + + <td> + <p><code><a href="char_to_granges.html">char_to_granges()</a></code> </p> + </td> + <td><p>Convert character vector into GRanges</p></td> + </tr><tr> + + <td> + <p><code><a href="double_flank.html">double_flank()</a></code> </p> + </td> + <td><p>Double flank</p></td> + </tr><tr> + + <td> + <p><code><a href="EnsDb.Hsapiens.v99.html">EnsDb.Hsapiens.v99()</a></code> </p> + </td> + <td><p>Get EnsDb.Hsapiens.v98 from AnnotationHub</p></td> + </tr><tr> + + <td> + <p><code><a href="EnsDb.Mmusculus.v98.html">EnsDb.Mmusculus.v98()</a></code> </p> + </td> + <td><p>Get EnsDb.Mmusculus.v98 from AnnotationHub</p></td> + </tr><tr> + + <td> + <p><code><a href="extend_for_pe.html">extend_for_pe()</a></code> </p> + </td> + <td><p>Extend ranges for prime editing</p></td> + </tr><tr> + + <td> + <p><code><a href="extend_pe_to_gg.html">extend_pe_to_gg()</a></code> </p> + </td> + <td><p>Extend prime editing target to find GG sites</p></td> + </tr><tr> + + <td> + <p><code><a href="extract_matchranges.html">extract_matchranges()</a></code> </p> + </td> + <td><p>Extract matching subranges</p></td> + </tr><tr> + + <td> + <p><code><a href="extract_subranges.html">extract_subranges()</a></code> </p> + </td> + <td><p>Extract subranges</p></td> + </tr><tr> + + <td> + <p><code><a href="find_gg.html">find_gg()</a></code> </p> + </td> + <td><p>Find GG</p></td> + </tr><tr> + + <td> + <p><code><a href="find_pe_spacers.html">find_pe_spacers()</a></code> </p> + </td> + <td><p>Find prime editing spacers</p></td> + </tr><tr> + + <td> + <p><code><a href="find_spacers.html">find_spacers()</a></code> </p> + </td> + <td><p>Find crispr spacers in targetranges</p></td> + </tr><tr> + + <td> + <p><code><a href="genes_to_granges.html">genes_to_granges()</a></code> <code><a href="genes_to_granges.html">genefile_to_granges()</a></code> </p> + </td> + <td><p>Convert geneids into GRanges</p></td> + </tr><tr> + + <td> + <p><code><a href="gr2dt.html">gr2dt()</a></code> <code><a href="gr2dt.html">dt2gr()</a></code> </p> + </td> + <td><p>GRanges <-> data.table</p></td> + </tr><tr> + + <td> + <p><code><a href="has_been_indexed.html">has_been_indexed()</a></code> </p> + </td> + <td><p>Has been indexed?</p></td> + </tr><tr> + + <td> + <p><code><a href="index_genome.html">index_genome()</a></code> </p> + </td> + <td><p>Index genome</p></td> + </tr><tr> + + <td> + <p><code><a href="index_targets.html">index_targets()</a></code> </p> + </td> + <td><p>Index targets</p></td> + </tr><tr> + + <td> + <p><code><a href="make_unique_names.html">make_unique_names()</a></code> </p> + </td> + <td><p>Make unique names</p></td> + </tr><tr> + + <td> + <p><code><a href="match_seqs.html">match_seqs()</a></code> </p> + </td> + <td><p>Match spacer sequences</p></td> + </tr><tr> + + <td> + <p><code><a href="match_spacers.html">match_spacers()</a></code> </p> + </td> + <td><p>Match spacers</p></td> + </tr><tr> + + <td> + <p><code><a href="plot_intervals.html">plot_intervals()</a></code> </p> + </td> + <td><p>Interval plot GRanges</p></td> + </tr><tr> + + <td> + <p><code><a href="plot_karyogram.html">plot_karyogram()</a></code> </p> + </td> + <td><p>Karyo/Interval Plot GRanges(List)</p></td> + </tr><tr> + + <td> + <p><code><a href="up_flank.html">up_flank()</a></code> <code><a href="up_flank.html">down_flank()</a></code> <code><a href="up_flank.html">extend()</a></code> </p> + </td> + <td><p>Extend or Flank GRanges</p></td> + </tr> + </tbody> + </table> + </div> + + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#section-all-functions">All functions</a></li> + </ul> + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/index_genome.html b/public/reference/index_genome.html index 30420227988f51df879aa6de7ba366e6e2d3f6bb..f7a8a6658c0e82fe3be1c4d182367058bb072bfe 100644 --- a/public/reference/index_genome.html +++ b/public/reference/index_genome.html @@ -1,202 +1,202 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Index genome — index_genome • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Index genome — index_genome" /> -<meta property="og:description" content="Bowtie index genome" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Index genome</h1> - - <div class="hidden name"><code>index_genome.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Bowtie index genome</p> - </div> - - <pre class="usage"><span class='fu'>index_genome</span>( - <span class='no'>bsgenome</span>, - <span class='kw'>indexedgenomesdir</span> <span class='kw'>=</span> <span class='no'>INDEXEDGENOMESDIR</span>, - <span class='kw'>download</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, - <span class='kw'>overwrite</span> <span class='kw'>=</span> <span class='fl'>FALSE</span> -)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>bsgenome</th> - <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> - </tr> - <tr> - <th>indexedgenomesdir</th> - <td><p>string: directory with bowtie-indexed genome</p></td> - </tr> - <tr> - <th>download</th> - <td><p>TRUE (default) or FALSE: whether to download pre-indexed -version if available</p></td> - </tr> - <tr> - <th>overwrite</th> - <td><p>TRUE or FALSE (default)</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>invisible(genomdir)</p> - <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2> - - <p>Checks whether already available locally. If not, checks whether indexed -version can be downloaded from our s3 storage. If not, builds the -index with bowtie. This can take a few hours, but is a one-time operation.</p> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'>#bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 -#index_genome(bsgenome) -#bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -#index_genome(bsgenome) -#bsgenome <- BSgenome.Hsapiens.NCBI.GRCh38::BSgenome.Hsapiens.NCBI.GRCh38 -#index_genome(bsgenome) -</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#details">Details</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Index genome — index_genome • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Index genome — index_genome" /> +<meta property="og:description" content="Bowtie index genome" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Index genome</h1> + + <div class="hidden name"><code>index_genome.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Bowtie index genome</p> + </div> + + <pre class="usage"><span class='fu'>index_genome</span>( + <span class='no'>bsgenome</span>, + <span class='kw'>indexedgenomesdir</span> <span class='kw'>=</span> <span class='no'>INDEXEDGENOMESDIR</span>, + <span class='kw'>download</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, + <span class='kw'>overwrite</span> <span class='kw'>=</span> <span class='fl'>FALSE</span> +)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>bsgenome</th> + <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> + </tr> + <tr> + <th>indexedgenomesdir</th> + <td><p>string: directory with bowtie-indexed genome</p></td> + </tr> + <tr> + <th>download</th> + <td><p>TRUE (default) or FALSE: whether to download pre-indexed +version if available</p></td> + </tr> + <tr> + <th>overwrite</th> + <td><p>TRUE or FALSE (default)</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>invisible(genomdir)</p> + <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2> + + <p>Checks whether already available locally. If not, checks whether indexed +version can be downloaded from our s3 storage. If not, builds the +index with bowtie. This can take a few hours, but is a one-time operation.</p> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'>#bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 +#index_genome(bsgenome) +#bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +#index_genome(bsgenome) +#bsgenome <- BSgenome.Hsapiens.NCBI.GRCh38::BSgenome.Hsapiens.NCBI.GRCh38 +#index_genome(bsgenome) +</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#details">Details</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/index_targets-1.png b/public/reference/index_targets-1.png index 2fa9dd21011d9aa61c2a5d26172ac121a09e78f3..f7ac80ffc8c47fd48735082a7978c4c3f9ab887a 100644 Binary files a/public/reference/index_targets-1.png and b/public/reference/index_targets-1.png differ diff --git a/public/reference/index_targets.html b/public/reference/index_targets.html index ac72c485662babfa75cd707d5c7de252ebfba7d4..556243809073254ce525ed7764783ce9f41519e1 100644 --- a/public/reference/index_targets.html +++ b/public/reference/index_targets.html @@ -1,192 +1,192 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Index targets — index_targets • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Index targets — index_targets" /> -<meta property="og:description" content="Bowtie index targets" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Index targets</h1> - - <div class="hidden name"><code>index_targets.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Bowtie index targets</p> - </div> - - <pre class="usage"><span class='fu'>index_targets</span>( - <span class='no'>targets</span>, - <span class='kw'>bsgenome</span> <span class='kw'>=</span> <span class='fu'>getBSgenome</span>(<span class='fu'>genome</span>(<span class='no'>targets</span>)[<span class='fl'>1</span>]), - <span class='kw'>outdir</span> <span class='kw'>=</span> <span class='no'>OUTDIR</span>, - <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span> -)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>targets</th> - <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> - </tr> - <tr> - <th>bsgenome</th> - <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> - </tr> - <tr> - <th>outdir</th> - <td><p>string: output directory</p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>TRUE (default) or FALSE</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>invisible(targetdir)</p> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) -<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> -<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) -<span class='no'>targets</span> <span class='kw'><-</span> <span class='fu'><a href='up_flank.html'>extend</a></span>(<span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='kw'>genome</span> <span class='kw'>=</span> <span class='st'>'mm10'</span>))</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='index_targets-1.png' alt='' width='700' height='433' /></div><div class='input'><span class='fu'>index_targets</span>(<span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Index target sequences</span></div><div class='output co'>#> <span class='message'> 1974 target ranges</span></div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='output co'>#> <span class='message'> 3932 ranges after merging overlaps</span></div><div class='output co'>#> <span class='message'> Write seqs to ~/multicrisprout/targets.fa</span></div><div class='output co'>#> <span class='message'> Write index to ~/multicrisprout/targets</span></div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Index targets — index_targets • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Index targets — index_targets" /> +<meta property="og:description" content="Bowtie index targets" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Index targets</h1> + + <div class="hidden name"><code>index_targets.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Bowtie index targets</p> + </div> + + <pre class="usage"><span class='fu'>index_targets</span>( + <span class='no'>targets</span>, + <span class='kw'>bsgenome</span> <span class='kw'>=</span> <span class='fu'>getBSgenome</span>(<span class='fu'>genome</span>(<span class='no'>targets</span>)[<span class='fl'>1</span>]), + <span class='kw'>outdir</span> <span class='kw'>=</span> <span class='no'>OUTDIR</span>, + <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span> +)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>targets</th> + <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> + </tr> + <tr> + <th>bsgenome</th> + <td><p><code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code></p></td> + </tr> + <tr> + <th>outdir</th> + <td><p>string: output directory</p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>TRUE (default) or FALSE</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>invisible(targetdir)</p> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) +<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> +<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) +<span class='no'>targets</span> <span class='kw'><-</span> <span class='fu'><a href='up_flank.html'>extend</a></span>(<span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='kw'>genome</span> <span class='kw'>=</span> <span class='st'>'mm10'</span>))</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='index_targets-1.png' alt='' width='700' height='433' /></div><div class='input'><span class='fu'>index_targets</span>(<span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Index target sequences</span></div><div class='output co'>#> <span class='message'> 1974 target ranges</span></div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='output co'>#> <span class='message'> 3932 ranges after merging overlaps</span></div><div class='output co'>#> <span class='message'> Write seqs to ~/multicrisprout/targets.fa</span></div><div class='output co'>#> <span class='message'> Write index to ~/multicrisprout/targets</span></div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/left_flank.html b/public/reference/left_flank.html index acd16c6e19adcf62628d0297651dd6544e0821bb..b887dcee138d87d96c6c84b52baf8d15e40eb4f0 100644 --- a/public/reference/left_flank.html +++ b/public/reference/left_flank.html @@ -1,204 +1,204 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Left flank — left_flank • multicrispr</title> - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - -<meta property="og:title" content="Left flank — left_flank" /> - -<meta property="og:description" content="Left flank" /> -<meta name="twitter:card" content="summary" /> - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/using_multicrispr.html">Using multicrispr</a> - </li> - </ul> -</li> - </ul> - - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Left flank</h1> - - <div class="hidden name"><code>left_flank.Rd</code></div> - </div> - - <div class="ref-description"> - - <p>Left flank</p> - - </div> - - <pre class="usage"><span class='fu'>left_flank</span>(<span class='no'>granges</span>, <span class='kw'>leftstart</span> <span class='kw'>=</span> -<span class='fl'>200</span>, <span class='kw'>leftend</span> <span class='kw'>=</span> -<span class='fl'>1</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>granges</th> - <td><p>GenomicRanges::GRanges</p></td> - </tr> - <tr> - <th>leftstart</th> - <td><p>left flank start (relative to range start)</p></td> - </tr> - <tr> - <th>leftend</th> - <td><p>left flank end (relative to range start)</p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>logical(1)</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>GenomicRanges::GRanges</p> - - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) -<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) -<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> -<span class='no'>granges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='input'><span class='no'>granges</span> <span class='kw'>%>%</span> <span class='fu'><a href='https://rdrr.io/r/utils/head.html'>head</a></span>(<span class='fl'>3</span>)</div><div class='output co'>#> GRanges object with 3 ranges and 0 metadata columns: -#> seqnames ranges strand -#> <Rle> <IRanges> <Rle> -#> [1] chr1 4712627-4712643 - -#> [2] chr1 5250211-5250227 - -#> [3] chr1 5250451-5250467 - -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div><div class='input'><span class='no'>granges</span> <span class='kw'>%>%</span> <span class='fu'><a href='https://rdrr.io/r/utils/head.html'>head</a></span>(<span class='fl'>3</span>) <span class='kw'>%>%</span> <span class='fu'>left_flank</span>()</div><div class='output co'>#> <span class='message'> 3 left flanks : [start-200, start-1]</span></div><div class='output co'>#> GRanges object with 3 ranges and 0 metadata columns: -#> seqnames ranges strand -#> <Rle> <IRanges> <Rle> -#> [1] chr1 4712427-4712626 - -#> [2] chr1 5250011-5250210 - -#> [3] chr1 5250251-5250450 - -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - - <li><a href="#value">Value</a></li> - - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Left flank — left_flank • multicrispr</title> + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + +<meta property="og:title" content="Left flank — left_flank" /> + +<meta property="og:description" content="Left flank" /> +<meta name="twitter:card" content="summary" /> + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/using_multicrispr.html">Using multicrispr</a> + </li> + </ul> +</li> + </ul> + + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Left flank</h1> + + <div class="hidden name"><code>left_flank.Rd</code></div> + </div> + + <div class="ref-description"> + + <p>Left flank</p> + + </div> + + <pre class="usage"><span class='fu'>left_flank</span>(<span class='no'>granges</span>, <span class='kw'>leftstart</span> <span class='kw'>=</span> -<span class='fl'>200</span>, <span class='kw'>leftend</span> <span class='kw'>=</span> -<span class='fl'>1</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>granges</th> + <td><p>GenomicRanges::GRanges</p></td> + </tr> + <tr> + <th>leftstart</th> + <td><p>left flank start (relative to range start)</p></td> + </tr> + <tr> + <th>leftend</th> + <td><p>left flank end (relative to range start)</p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>logical(1)</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>GenomicRanges::GRanges</p> + + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) +<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) +<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> +<span class='no'>granges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='input'><span class='no'>granges</span> <span class='kw'>%>%</span> <span class='fu'><a href='https://rdrr.io/r/utils/head.html'>head</a></span>(<span class='fl'>3</span>)</div><div class='output co'>#> GRanges object with 3 ranges and 0 metadata columns: +#> seqnames ranges strand +#> <Rle> <IRanges> <Rle> +#> [1] chr1 4712627-4712643 - +#> [2] chr1 5250211-5250227 - +#> [3] chr1 5250451-5250467 - +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div><div class='input'><span class='no'>granges</span> <span class='kw'>%>%</span> <span class='fu'><a href='https://rdrr.io/r/utils/head.html'>head</a></span>(<span class='fl'>3</span>) <span class='kw'>%>%</span> <span class='fu'>left_flank</span>()</div><div class='output co'>#> <span class='message'> 3 left flanks : [start-200, start-1]</span></div><div class='output co'>#> GRanges object with 3 ranges and 0 metadata columns: +#> seqnames ranges strand +#> <Rle> <IRanges> <Rle> +#> [1] chr1 4712427-4712626 - +#> [2] chr1 5250011-5250210 - +#> [3] chr1 5250251-5250450 - +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + + <li><a href="#value">Value</a></li> + + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/make_unique_names.html b/public/reference/make_unique_names.html index 791f5425ec37985261266208b6cdc883f22430d9..082e1bbb9e4a26bb92410200d02b7b3e4b560910 100644 --- a/public/reference/make_unique_names.html +++ b/public/reference/make_unique_names.html @@ -1,173 +1,173 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Make unique names — make_unique_names • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Make unique names — make_unique_names" /> -<meta property="og:description" content="Make unique names" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Make unique names</h1> - - <div class="hidden name"><code>make_unique_names.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Make unique names</p> - </div> - - <pre class="usage"><span class='fu'>make_unique_names</span>(<span class='no'>x</span>, <span class='kw'>prefix</span> <span class='kw'>=</span> <span class='st'>"T"</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>x</th> - <td><p>vector</p></td> - </tr> - <tr> - <th>prefix</th> - <td><p>string: prefix with which to start names</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>character vector with unique names</p> - - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Make unique names — make_unique_names • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Make unique names — make_unique_names" /> +<meta property="og:description" content="Make unique names" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Make unique names</h1> + + <div class="hidden name"><code>make_unique_names.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Make unique names</p> + </div> + + <pre class="usage"><span class='fu'>make_unique_names</span>(<span class='no'>x</span>, <span class='kw'>prefix</span> <span class='kw'>=</span> <span class='st'>"T"</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>x</th> + <td><p>vector</p></td> + </tr> + <tr> + <th>prefix</th> + <td><p>string: prefix with which to start names</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>character vector with unique names</p> + + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/match_seqs-1.png b/public/reference/match_seqs-1.png index f9eebb3779749d8050eae637fca854c586361a30..36e76a4da140c8ca4e71414a0429a1ca1f1698c8 100644 Binary files a/public/reference/match_seqs-1.png and b/public/reference/match_seqs-1.png differ diff --git a/public/reference/match_seqs-2.png b/public/reference/match_seqs-2.png index 2fa9dd21011d9aa61c2a5d26172ac121a09e78f3..f7ac80ffc8c47fd48735082a7978c4c3f9ab887a 100644 Binary files a/public/reference/match_seqs-2.png and b/public/reference/match_seqs-2.png differ diff --git a/public/reference/match_seqs-3.png b/public/reference/match_seqs-3.png index d9f5e72fc41de6d79da4542471713fe9f529710a..c8ec4f45e6e192df52b236e194d0d4643c337368 100644 Binary files a/public/reference/match_seqs-3.png and b/public/reference/match_seqs-3.png differ diff --git a/public/reference/match_seqs.html b/public/reference/match_seqs.html index 0abb0ec4acd809ff7ac9683f0630879da952fb1a..f215163988bd30a1c65d74f5840b4720e8f193f6 100644 --- a/public/reference/match_seqs.html +++ b/public/reference/match_seqs.html @@ -1,246 +1,246 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Match spacer sequences — match_seqs • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Match spacer sequences — match_seqs" /> -<meta property="og:description" content="Count matches to indexed target/genome" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Match spacer sequences</h1> - - <div class="hidden name"><code>match_seqs.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Count matches to indexed target/genome</p> - </div> - - <pre class="usage"><span class='fu'>match_seqs</span>( - <span class='no'>seqs</span>, - <span class='no'>indexdir</span>, - <span class='no'>norc</span>, - <span class='kw'>mismatches</span> <span class='kw'>=</span> <span class='fl'>2</span>, - <span class='kw'>outdir</span> <span class='kw'>=</span> <span class='no'>OUTDIR</span>, - <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span> -)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>seqs</th> - <td><p>character vector: sequences to match against indexed ref</p></td> - </tr> - <tr> - <th>indexdir</th> - <td><p>string: dir containing indexed reference. -This can be an indexed genome( <code><a href='index_genome.html'>index_genome</a></code> -It can also be indexed targets (<code><a href='index_targets.html'>index_targets</a></code>)</p></td> - </tr> - <tr> - <th>norc</th> - <td><p>TRUE or FALSE: whether to run bowtie also with revcompls -Generally TRUE for genome and FALSE for target matches, -because target ranges generally include both strands.</p></td> - </tr> - <tr> - <th>mismatches</th> - <td><p>max number of mismatches to consider</p></td> - </tr> - <tr> - <th>outdir</th> - <td><p>string: multicrispr output directory</p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>TRUE (default) or FALSE</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>data.table</p> - <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2> - - <div class='dont-index'><p><code><a href='index_genome.html'>index_genome</a></code>, <code><a href='index_targets.html'>index_targets</a></code></p></div> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='co'># PE example</span> -<span class='co'>#-----------</span> - <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) - <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> - <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> - <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> - <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> - <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> - <span class='no'>bsgenome</span>) - <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_pe_spacers.html'>find_pe_spacers</a></span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>)</div><div class='img'><img src='match_seqs-1.png' alt='' width='700' height='433' /></div><div class='input'> <span class='co'># indexdir <- genome_dir(indexedgenomesdir = INDEXEDGENOMESDIR, bsgenome)</span> - <span class='co'># match_seqs(spacers$crisprspacer, indexdir, norc=TRUE, mismatches = 1)</span> - -<span class='co'># TFBS example</span> -<span class='co'>#-------------</span> -<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> -<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) -<span class='no'>targets</span> <span class='kw'><-</span> <span class='fu'><a href='up_flank.html'>extend</a></span>(<span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='kw'>genome</span> <span class='kw'>=</span> <span class='st'>'mm10'</span>))</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='match_seqs-2.png' alt='' width='700' height='433' /></div><div class='input'><span class='no'>indexdir</span> <span class='kw'><-</span> <span class='fu'><a href='index_targets.html'>index_targets</a></span>(<span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Index target sequences</span></div><div class='output co'>#> <span class='message'> 1974 target ranges</span></div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='output co'>#> <span class='message'> 3932 ranges after merging overlaps</span></div><div class='output co'>#> <span class='message'> Write seqs to ~/multicrisprout/targets.fa</span></div><div class='output co'>#> <span class='message'> Write index to ~/multicrisprout/targets</span></div><div class='input'><span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_spacers.html'>find_spacers</a></span>(<span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='img'><img src='match_seqs-3.png' alt='' width='700' height='433' /></div><div class='input'><span class='no'>seqs</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/unique.html'>unique</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/paste.html'>paste0</a></span>(<span class='no'>spacers</span>$<span class='no'>crisprspacer</span>, <span class='no'>spacers</span>$<span class='no'>crisprpam</span>)) -<span class='fu'>match_seqs</span>(<span class='no'>seqs</span>, <span class='no'>indexdir</span>, <span class='kw'>norc</span><span class='kw'>=</span><span class='fl'>FALSE</span>)</div><div class='output co'>#> <span class='message'> Write reads to ~/multicrisprout/spacers.fa</span></div><div class='output co'>#> <span class='message'> Map reads: ~/multicrisprout/spacers/spacers_to_targets.txt</span></div><div class='output co'>#> <span class='message'> Load results</span></div><div class='output co'>#> <span class='message'> Count matches</span></div><div class='output co'>#> readseq MM0 MM1 MM2 -#> 1: ATATAAGGGCATTGGAAGAAGGG 2 1910 190 -#> 2: AATATAAGGGCATTGGAAGAAGG 2 1908 210 -#> 3: TGGAGACAATATAAGGGCATTGG 2 1948 188 -#> 4: TTCTGCTGGAGACAATATAAGGG 4 1646 474 -#> 5: CTTCTGCTGGAGACAATATAAGG 1644 480 38 -#> --- -#> 3040: AGATGAGGAATATGCAAATAAGG 2 0 0 -#> 3041: TTGCATATTCCTCATCTGATTGG 2 0 0 -#> 3042: AGTGTGCTTATAAGGGGGGAAGG 2 0 0 -#> 3043: AGAGAGTGTGCTTATAAGGGGGG 2 4 6 -#> 3044: AGCACACTCTCTTAGTAAATTGG 2 6 4</div><div class='input'><span class='fu'>match_seqs</span>(<span class='no'>seqs</span>, <span class='no'>indexdir</span>, <span class='kw'>norc</span><span class='kw'>=</span><span class='fl'>FALSE</span>, <span class='kw'>mismatches</span><span class='kw'>=</span><span class='fl'>3</span>)</div><div class='output co'>#> <span class='message'> Write reads to ~/multicrisprout/spacers.fa</span></div><div class='output co'>#> <span class='message'> Map reads: ~/multicrisprout/spacers/spacers_to_targets.txt</span></div><div class='output co'>#> <span class='message'> Load results</span></div><div class='output co'>#> <span class='message'> Count matches</span></div><div class='output co'>#> readseq MM0 MM1 MM2 MM3 -#> 1: ATATAAGGGCATTGGAAGAAGGG 2 1910 190 18 -#> 2: AATATAAGGGCATTGGAAGAAGG 2 1908 210 22 -#> 3: TGGAGACAATATAAGGGCATTGG 2 1948 188 22 -#> 4: TTCTGCTGGAGACAATATAAGGG 4 1646 474 40 -#> 5: CTTCTGCTGGAGACAATATAAGG 1644 480 38 12 -#> --- -#> 3040: AGATGAGGAATATGCAAATAAGG 2 0 0 0 -#> 3041: TTGCATATTCCTCATCTGATTGG 2 0 0 0 -#> 3042: AGTGTGCTTATAAGGGGGGAAGG 2 0 0 0 -#> 3043: AGAGAGTGTGCTTATAAGGGGGG 2 4 6 2 -#> 3044: AGCACACTCTCTTAGTAAATTGG 2 6 4 0</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#see-also">See also</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Match spacer sequences — match_seqs • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Match spacer sequences — match_seqs" /> +<meta property="og:description" content="Count matches to indexed target/genome" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Match spacer sequences</h1> + + <div class="hidden name"><code>match_seqs.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Count matches to indexed target/genome</p> + </div> + + <pre class="usage"><span class='fu'>match_seqs</span>( + <span class='no'>seqs</span>, + <span class='no'>indexdir</span>, + <span class='no'>norc</span>, + <span class='kw'>mismatches</span> <span class='kw'>=</span> <span class='fl'>2</span>, + <span class='kw'>outdir</span> <span class='kw'>=</span> <span class='no'>OUTDIR</span>, + <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span> +)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>seqs</th> + <td><p>character vector: sequences to match against indexed ref</p></td> + </tr> + <tr> + <th>indexdir</th> + <td><p>string: dir containing indexed reference. +This can be an indexed genome( <code><a href='index_genome.html'>index_genome</a></code> +It can also be indexed targets (<code><a href='index_targets.html'>index_targets</a></code>)</p></td> + </tr> + <tr> + <th>norc</th> + <td><p>TRUE or FALSE: whether to run bowtie also with revcompls +Generally TRUE for genome and FALSE for target matches, +because target ranges generally include both strands.</p></td> + </tr> + <tr> + <th>mismatches</th> + <td><p>max number of mismatches to consider</p></td> + </tr> + <tr> + <th>outdir</th> + <td><p>string: multicrispr output directory</p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>TRUE (default) or FALSE</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>data.table</p> + <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2> + + <div class='dont-index'><p><code><a href='index_genome.html'>index_genome</a></code>, <code><a href='index_targets.html'>index_targets</a></code></p></div> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='co'># PE example</span> +<span class='co'>#-----------</span> + <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) + <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> + <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> + <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> + <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> + <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> + <span class='no'>bsgenome</span>) + <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_pe_spacers.html'>find_pe_spacers</a></span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>)</div><div class='img'><img src='match_seqs-1.png' alt='' width='700' height='433' /></div><div class='input'> <span class='co'># indexdir <- genome_dir(indexedgenomesdir = INDEXEDGENOMESDIR, bsgenome)</span> + <span class='co'># match_seqs(spacers$crisprspacer, indexdir, norc=TRUE, mismatches = 1)</span> + +<span class='co'># TFBS example</span> +<span class='co'>#-------------</span> +<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> +<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) +<span class='no'>targets</span> <span class='kw'><-</span> <span class='fu'><a href='up_flank.html'>extend</a></span>(<span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='kw'>genome</span> <span class='kw'>=</span> <span class='st'>'mm10'</span>))</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='match_seqs-2.png' alt='' width='700' height='433' /></div><div class='input'><span class='no'>indexdir</span> <span class='kw'><-</span> <span class='fu'><a href='index_targets.html'>index_targets</a></span>(<span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Index target sequences</span></div><div class='output co'>#> <span class='message'> 1974 target ranges</span></div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='output co'>#> <span class='message'> 3932 ranges after merging overlaps</span></div><div class='output co'>#> <span class='message'> Write seqs to ~/multicrisprout/targets.fa</span></div><div class='output co'>#> <span class='message'> Write index to ~/multicrisprout/targets</span></div><div class='input'><span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_spacers.html'>find_spacers</a></span>(<span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='img'><img src='match_seqs-3.png' alt='' width='700' height='433' /></div><div class='input'><span class='no'>seqs</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/unique.html'>unique</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/paste.html'>paste0</a></span>(<span class='no'>spacers</span>$<span class='no'>crisprspacer</span>, <span class='no'>spacers</span>$<span class='no'>crisprpam</span>)) +<span class='fu'>match_seqs</span>(<span class='no'>seqs</span>, <span class='no'>indexdir</span>, <span class='kw'>norc</span><span class='kw'>=</span><span class='fl'>FALSE</span>)</div><div class='output co'>#> <span class='message'> Write reads to ~/multicrisprout/spacers.fa</span></div><div class='output co'>#> <span class='message'> Map reads: ~/multicrisprout/spacers/spacers_to_targets.txt</span></div><div class='output co'>#> <span class='message'> Load results</span></div><div class='output co'>#> <span class='message'> Count matches</span></div><div class='output co'>#> readseq MM0 MM1 MM2 +#> 1: ATATAAGGGCATTGGAAGAAGGG 2 1910 190 +#> 2: AATATAAGGGCATTGGAAGAAGG 2 1908 210 +#> 3: TGGAGACAATATAAGGGCATTGG 2 1948 188 +#> 4: TTCTGCTGGAGACAATATAAGGG 4 1646 474 +#> 5: CTTCTGCTGGAGACAATATAAGG 1644 480 38 +#> --- +#> 3040: AGATGAGGAATATGCAAATAAGG 2 0 0 +#> 3041: TTGCATATTCCTCATCTGATTGG 2 0 0 +#> 3042: AGTGTGCTTATAAGGGGGGAAGG 2 0 0 +#> 3043: AGAGAGTGTGCTTATAAGGGGGG 2 4 6 +#> 3044: AGCACACTCTCTTAGTAAATTGG 2 6 4</div><div class='input'><span class='fu'>match_seqs</span>(<span class='no'>seqs</span>, <span class='no'>indexdir</span>, <span class='kw'>norc</span><span class='kw'>=</span><span class='fl'>FALSE</span>, <span class='kw'>mismatches</span><span class='kw'>=</span><span class='fl'>3</span>)</div><div class='output co'>#> <span class='message'> Write reads to ~/multicrisprout/spacers.fa</span></div><div class='output co'>#> <span class='message'> Map reads: ~/multicrisprout/spacers/spacers_to_targets.txt</span></div><div class='output co'>#> <span class='message'> Load results</span></div><div class='output co'>#> <span class='message'> Count matches</span></div><div class='output co'>#> readseq MM0 MM1 MM2 MM3 +#> 1: ATATAAGGGCATTGGAAGAAGGG 2 1910 190 18 +#> 2: AATATAAGGGCATTGGAAGAAGG 2 1908 210 22 +#> 3: TGGAGACAATATAAGGGCATTGG 2 1948 188 22 +#> 4: TTCTGCTGGAGACAATATAAGGG 4 1646 474 40 +#> 5: CTTCTGCTGGAGACAATATAAGG 1644 480 38 12 +#> --- +#> 3040: AGATGAGGAATATGCAAATAAGG 2 0 0 0 +#> 3041: TTGCATATTCCTCATCTGATTGG 2 0 0 0 +#> 3042: AGTGTGCTTATAAGGGGGGAAGG 2 0 0 0 +#> 3043: AGAGAGTGTGCTTATAAGGGGGG 2 4 6 2 +#> 3044: AGCACACTCTCTTAGTAAATTGG 2 6 4 0</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#see-also">See also</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/match_spacers-1.png b/public/reference/match_spacers-1.png index f9eebb3779749d8050eae637fca854c586361a30..36e76a4da140c8ca4e71414a0429a1ca1f1698c8 100644 Binary files a/public/reference/match_spacers-1.png and b/public/reference/match_spacers-1.png differ diff --git a/public/reference/match_spacers-2.png b/public/reference/match_spacers-2.png index 2fa9dd21011d9aa61c2a5d26172ac121a09e78f3..f7ac80ffc8c47fd48735082a7978c4c3f9ab887a 100644 Binary files a/public/reference/match_spacers-2.png and b/public/reference/match_spacers-2.png differ diff --git a/public/reference/match_spacers-3.png b/public/reference/match_spacers-3.png index d9f5e72fc41de6d79da4542471713fe9f529710a..c8ec4f45e6e192df52b236e194d0d4643c337368 100644 Binary files a/public/reference/match_spacers-3.png and b/public/reference/match_spacers-3.png differ diff --git a/public/reference/match_spacers.html b/public/reference/match_spacers.html index 479efcd1caaea7aa233f80d85452c59b584aa901..8087108473064e023a3b5a4b354e159fc2da9a3d 100644 --- a/public/reference/match_spacers.html +++ b/public/reference/match_spacers.html @@ -1,245 +1,245 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Match spacers — match_spacers • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Match spacers — match_spacers" /> -<meta property="og:description" content="Count matches to indexed target/genome and add to GRanges" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Match spacers</h1> - - <div class="hidden name"><code>match_spacers.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Count matches to indexed target/genome and add to GRanges</p> - </div> - - <pre class="usage"><span class='fu'>match_spacers</span>( - <span class='no'>spacers</span>, - <span class='no'>indexdir</span>, - <span class='no'>norc</span>, - <span class='kw'>mismatches</span> <span class='kw'>=</span> <span class='fl'>2</span>, - <span class='kw'>outdir</span> <span class='kw'>=</span> <span class='no'>OUTDIR</span>, - <span class='kw'>pam</span> <span class='kw'>=</span> <span class='st'>"NGG"</span>, - <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span> -)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>spacers</th> - <td><p>spacer <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> - </tr> - <tr> - <th>indexdir</th> - <td><p>string: dir containing indexed reference. -This can be an indexed genome( <code><a href='index_genome.html'>index_genome</a></code> -It can also be indexed targets (<code><a href='index_targets.html'>index_targets</a></code>)</p></td> - </tr> - <tr> - <th>norc</th> - <td><p>TRUE or FALSE: whether to run bowtie also with revcompls -Generally TRUE for genome and FALSE for target matches, -because target ranges generally include both strands.</p></td> - </tr> - <tr> - <th>mismatches</th> - <td><p>number (default 2): max number of mismatches to consider</p></td> - </tr> - <tr> - <th>outdir</th> - <td><p>string: file where to output bowtie results</p></td> - </tr> - <tr> - <th>pam</th> - <td><p>string (default 'NGG') pam pattern to expand</p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>TRUE (default) or FALSE</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>data.table</p> - <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2> - - <p>Expands iupac amgiguities in the pam sequence. -Matches all resulting sequences against (indexes) target and genome. -Adds match counts to GRanges object, and then returns it.</p> - <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2> - - <div class='dont-index'><p><code><a href='index_genome.html'>index_genome</a></code>, <code><a href='index_targets.html'>index_targets</a></code></p></div> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='co'># PE example</span> -<span class='co'>#-----------</span> - <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) - <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> - <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> - <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> - <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> - <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> - <span class='no'>bsgenome</span>) - <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_pe_spacers.html'>find_pe_spacers</a></span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>)</div><div class='img'><img src='match_spacers-1.png' alt='' width='700' height='433' /></div><div class='input'> <span class='co'># indexdir <- genome_dir(indexedgenomesdir = INDEXEDGENOMESDIR, bsgenome)</span> - <span class='co'># match_spacers(spacers, indexdir, norc=TRUE, mismatches = 1)</span> - -<span class='co'># TFBS example</span> -<span class='co'>#-------------</span> -<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> -<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) -<span class='no'>targets</span> <span class='kw'><-</span> <span class='fu'><a href='up_flank.html'>extend</a></span>(<span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='kw'>genome</span> <span class='kw'>=</span> <span class='st'>'mm10'</span>))</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='match_spacers-2.png' alt='' width='700' height='433' /></div><div class='input'><span class='no'>indexdir</span> <span class='kw'><-</span> <span class='fu'><a href='index_targets.html'>index_targets</a></span>(<span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Index target sequences</span></div><div class='output co'>#> <span class='message'> 1974 target ranges</span></div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='output co'>#> <span class='message'> 3932 ranges after merging overlaps</span></div><div class='output co'>#> <span class='message'> Write seqs to ~/multicrisprout/targets.fa</span></div><div class='output co'>#> <span class='message'> Write index to ~/multicrisprout/targets</span></div><div class='input'><span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_spacers.html'>find_spacers</a></span>(<span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='img'><img src='match_spacers-3.png' alt='' width='700' height='433' /></div><div class='input'><span class='fu'>match_spacers</span>(<span class='no'>spacers</span>, <span class='no'>indexdir</span>, <span class='kw'>norc</span><span class='kw'>=</span><span class='fl'>FALSE</span>, <span class='kw'>mismatches</span> <span class='kw'>=</span> <span class='fl'>1</span>)</div><div class='output co'>#> <span class='message'> Expand iupac ambiguities in pam</span></div><div class='output co'>#> <span class='message'> Write reads to ~/multicrisprout/spacers.fa</span></div><div class='output co'>#> <span class='message'> Map reads: ~/multicrisprout/spacers/spacers_to_targets.txt</span></div><div class='output co'>#> <span class='message'> Load results</span></div><div class='output co'>#> <span class='message'> Count matches</span></div><div class='output co'>#> crisprspacer MM0 MM1 -#> 1: ATATAAGGGCATTGGAAGAA 2 1946 -#> 2: AATATAAGGGCATTGGAAGA 2 1920 -#> 3: TGGAGACAATATAAGGGCAT 2 1950 -#> 4: TTCTGCTGGAGACAATATAA 4 1654 -#> 5: CTTCTGCTGGAGACAATATA 1650 484 -#> --- -#> 3013: AGATGAGGAATATGCAAATA 2 0 -#> 3014: TTGCATATTCCTCATCTGAT 2 0 -#> 3015: AGTGTGCTTATAAGGGGGGA 2 0 -#> 3016: AGAGAGTGTGCTTATAAGGG 2 4 -#> 3017: AGCACACTCTCTTAGTAAAT 2 6</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#details">Details</a></li> - <li><a href="#see-also">See also</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Match spacers — match_spacers • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Match spacers — match_spacers" /> +<meta property="og:description" content="Count matches to indexed target/genome and add to GRanges" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Match spacers</h1> + + <div class="hidden name"><code>match_spacers.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Count matches to indexed target/genome and add to GRanges</p> + </div> + + <pre class="usage"><span class='fu'>match_spacers</span>( + <span class='no'>spacers</span>, + <span class='no'>indexdir</span>, + <span class='no'>norc</span>, + <span class='kw'>mismatches</span> <span class='kw'>=</span> <span class='fl'>2</span>, + <span class='kw'>outdir</span> <span class='kw'>=</span> <span class='no'>OUTDIR</span>, + <span class='kw'>pam</span> <span class='kw'>=</span> <span class='st'>"NGG"</span>, + <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span> +)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>spacers</th> + <td><p>spacer <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> + </tr> + <tr> + <th>indexdir</th> + <td><p>string: dir containing indexed reference. +This can be an indexed genome( <code><a href='index_genome.html'>index_genome</a></code> +It can also be indexed targets (<code><a href='index_targets.html'>index_targets</a></code>)</p></td> + </tr> + <tr> + <th>norc</th> + <td><p>TRUE or FALSE: whether to run bowtie also with revcompls +Generally TRUE for genome and FALSE for target matches, +because target ranges generally include both strands.</p></td> + </tr> + <tr> + <th>mismatches</th> + <td><p>number (default 2): max number of mismatches to consider</p></td> + </tr> + <tr> + <th>outdir</th> + <td><p>string: file where to output bowtie results</p></td> + </tr> + <tr> + <th>pam</th> + <td><p>string (default 'NGG') pam pattern to expand</p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>TRUE (default) or FALSE</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>data.table</p> + <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2> + + <p>Expands iupac amgiguities in the pam sequence. +Matches all resulting sequences against (indexes) target and genome. +Adds match counts to GRanges object, and then returns it.</p> + <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2> + + <div class='dont-index'><p><code><a href='index_genome.html'>index_genome</a></code>, <code><a href='index_targets.html'>index_targets</a></code></p></div> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='co'># PE example</span> +<span class='co'>#-----------</span> + <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) + <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> + <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> + <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> + <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> + <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), <span class='co'># ins</span> + <span class='no'>bsgenome</span>) + <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_pe_spacers.html'>find_pe_spacers</a></span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>)</div><div class='img'><img src='match_spacers-1.png' alt='' width='700' height='433' /></div><div class='input'> <span class='co'># indexdir <- genome_dir(indexedgenomesdir = INDEXEDGENOMESDIR, bsgenome)</span> + <span class='co'># match_spacers(spacers, indexdir, norc=TRUE, mismatches = 1)</span> + +<span class='co'># TFBS example</span> +<span class='co'>#-------------</span> +<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> +<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) +<span class='no'>targets</span> <span class='kw'><-</span> <span class='fu'><a href='up_flank.html'>extend</a></span>(<span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='kw'>genome</span> <span class='kw'>=</span> <span class='st'>'mm10'</span>))</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='match_spacers-2.png' alt='' width='700' height='433' /></div><div class='input'><span class='no'>indexdir</span> <span class='kw'><-</span> <span class='fu'><a href='index_targets.html'>index_targets</a></span>(<span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Index target sequences</span></div><div class='output co'>#> <span class='message'> 1974 target ranges</span></div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='output co'>#> <span class='message'> 3932 ranges after merging overlaps</span></div><div class='output co'>#> <span class='message'> Write seqs to ~/multicrisprout/targets.fa</span></div><div class='output co'>#> <span class='message'> Write index to ~/multicrisprout/targets</span></div><div class='input'><span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_spacers.html'>find_spacers</a></span>(<span class='no'>targets</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> 3948 ranges after adding inverse strands</span></div><div class='img'><img src='match_spacers-3.png' alt='' width='700' height='433' /></div><div class='input'><span class='fu'>match_spacers</span>(<span class='no'>spacers</span>, <span class='no'>indexdir</span>, <span class='kw'>norc</span><span class='kw'>=</span><span class='fl'>FALSE</span>, <span class='kw'>mismatches</span> <span class='kw'>=</span> <span class='fl'>1</span>)</div><div class='output co'>#> <span class='message'> Expand iupac ambiguities in pam</span></div><div class='output co'>#> <span class='message'> Write reads to ~/multicrisprout/spacers.fa</span></div><div class='output co'>#> <span class='message'> Map reads: ~/multicrisprout/spacers/spacers_to_targets.txt</span></div><div class='output co'>#> <span class='message'> Load results</span></div><div class='output co'>#> <span class='message'> Count matches</span></div><div class='output co'>#> crisprspacer MM0 MM1 +#> 1: ATATAAGGGCATTGGAAGAA 2 1946 +#> 2: AATATAAGGGCATTGGAAGA 2 1920 +#> 3: TGGAGACAATATAAGGGCAT 2 1950 +#> 4: TTCTGCTGGAGACAATATAA 4 1654 +#> 5: CTTCTGCTGGAGACAATATA 1650 484 +#> --- +#> 3013: AGATGAGGAATATGCAAATA 2 0 +#> 3014: TTGCATATTCCTCATCTGAT 2 0 +#> 3015: AGTGTGCTTATAAGGGGGGA 2 0 +#> 3016: AGAGAGTGTGCTTATAAGGG 2 4 +#> 3017: AGCACACTCTCTTAGTAAAT 2 6</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#details">Details</a></li> + <li><a href="#see-also">See also</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/plot_intervals-1.png b/public/reference/plot_intervals-1.png index 2e88e3053ce76fcb60794af4fd07757a42a90a89..feff32c3472dcb694cf374482d1e0a7a5502e979 100644 Binary files a/public/reference/plot_intervals-1.png and b/public/reference/plot_intervals-1.png differ diff --git a/public/reference/plot_intervals-10.png b/public/reference/plot_intervals-10.png index 18bd932df20419ba95f52ec6e9be592724b8baf6..1ed7265d61b4b40815b251c63573d84f69c9edb7 100644 Binary files a/public/reference/plot_intervals-10.png and b/public/reference/plot_intervals-10.png differ diff --git a/public/reference/plot_intervals-2.png b/public/reference/plot_intervals-2.png index f9eebb3779749d8050eae637fca854c586361a30..36e76a4da140c8ca4e71414a0429a1ca1f1698c8 100644 Binary files a/public/reference/plot_intervals-2.png and b/public/reference/plot_intervals-2.png differ diff --git a/public/reference/plot_intervals-3.png b/public/reference/plot_intervals-3.png index 8480b1e58cf3005cb8362f3ee9fb35e1d7ee9104..13824c688c0e8701605708f86a96227f54cb8549 100644 Binary files a/public/reference/plot_intervals-3.png and b/public/reference/plot_intervals-3.png differ diff --git a/public/reference/plot_intervals-4.png b/public/reference/plot_intervals-4.png index 33275722d27825153bed232b875cbb8e8fc50a33..0596de9c018f1f58230d2c5777b62ce83b977b2c 100644 Binary files a/public/reference/plot_intervals-4.png and b/public/reference/plot_intervals-4.png differ diff --git a/public/reference/plot_intervals-5.png b/public/reference/plot_intervals-5.png index 18bd932df20419ba95f52ec6e9be592724b8baf6..1ed7265d61b4b40815b251c63573d84f69c9edb7 100644 Binary files a/public/reference/plot_intervals-5.png and b/public/reference/plot_intervals-5.png differ diff --git a/public/reference/plot_intervals-6.png b/public/reference/plot_intervals-6.png index f9eebb3779749d8050eae637fca854c586361a30..36e76a4da140c8ca4e71414a0429a1ca1f1698c8 100644 Binary files a/public/reference/plot_intervals-6.png and b/public/reference/plot_intervals-6.png differ diff --git a/public/reference/plot_intervals-7.png b/public/reference/plot_intervals-7.png index 8480b1e58cf3005cb8362f3ee9fb35e1d7ee9104..13824c688c0e8701605708f86a96227f54cb8549 100644 Binary files a/public/reference/plot_intervals-7.png and b/public/reference/plot_intervals-7.png differ diff --git a/public/reference/plot_intervals-8.png b/public/reference/plot_intervals-8.png index efd1af1ddd2ac724aead64f1ef309fbeffe7dc34..312172597cf678c35bb4393774a70c5ed9290822 100644 Binary files a/public/reference/plot_intervals-8.png and b/public/reference/plot_intervals-8.png differ diff --git a/public/reference/plot_intervals-9.png b/public/reference/plot_intervals-9.png index 33275722d27825153bed232b875cbb8e8fc50a33..0596de9c018f1f58230d2c5777b62ce83b977b2c 100644 Binary files a/public/reference/plot_intervals-9.png and b/public/reference/plot_intervals-9.png differ diff --git a/public/reference/plot_intervals.html b/public/reference/plot_intervals.html index 3ea3c5cfd9b82d0dee2b3762fc64984879374b60..2d09346732522e27b3d9e983252ce8566eeecd80 100644 --- a/public/reference/plot_intervals.html +++ b/public/reference/plot_intervals.html @@ -1,247 +1,247 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Interval plot GRanges — plot_intervals • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Interval plot GRanges — plot_intervals" /> -<meta property="og:description" content="Interval plot GRanges" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Interval plot GRanges</h1> - - <div class="hidden name"><code>plot_intervals.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Interval plot GRanges</p> - </div> - - <pre class="usage"><span class='fu'>plot_intervals</span>( - <span class='no'>gr</span>, - <span class='kw'>xref</span> <span class='kw'>=</span> <span class='st'>"targetname"</span>, - <span class='kw'>y</span> <span class='kw'>=</span> <span class='st'>"names"</span>, - <span class='kw'>nperchrom</span> <span class='kw'>=</span> <span class='fl'>2</span>, - <span class='kw'>nchrom</span> <span class='kw'>=</span> <span class='fl'>4</span>, - <span class='kw'>color_var</span> <span class='kw'>=</span> <span class='st'>"targetname"</span>, - <span class='kw'>facet_var</span> <span class='kw'>=</span> <span class='st'>"seqnames"</span>, - <span class='kw'>linetype_var</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, - <span class='kw'>size_var</span> <span class='kw'>=</span> <span class='fu'>default_size_var</span>(<span class='no'>gr</span>), - <span class='kw'>alpha_var</span> <span class='kw'>=</span> <span class='fu'>default_alpha_var</span>(<span class='no'>gr</span>), - <span class='kw'>title</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, - <span class='kw'>scales</span> <span class='kw'>=</span> <span class='st'>"free"</span> -)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>gr</th> - <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> - </tr> - <tr> - <th>xref</th> - <td><p>gr var used for scaling x axis</p></td> - </tr> - <tr> - <th>y</th> - <td><p>'names' (default) or name of gr variable</p></td> - </tr> - <tr> - <th>nperchrom</th> - <td><p>number (default 1): n head (and n tail) targets -shown per chromosome</p></td> - </tr> - <tr> - <th>nchrom</th> - <td><p>number (default 6) of chromosomes shown</p></td> - </tr> - <tr> - <th>color_var</th> - <td><p>'seqnames' (default) or other gr variable</p></td> - </tr> - <tr> - <th>facet_var</th> - <td><p>NULL(default) or gr variable mapped to facet</p></td> - </tr> - <tr> - <th>linetype_var</th> - <td><p>NULL (default) or gr variable mapped to linetype</p></td> - </tr> - <tr> - <th>size_var</th> - <td><p>NULL (default) or gr variable mapped to size</p></td> - </tr> - <tr> - <th>alpha_var</th> - <td><p>NULL or gr variable mapped to alpha</p></td> - </tr> - <tr> - <th>title</th> - <td><p>NULL or string: plot title</p></td> - </tr> - <tr> - <th>scales</th> - <td><p>'free', 'fixed', etc</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>ggplot object</p> - <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2> - - <div class='dont-index'><p><code><a href='plot_karyogram.html'>plot_karyogram</a></code></p></div> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='co'># SRF sites</span> - <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) - <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> - <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) - <span class='no'>targets</span> <span class='kw'><-</span> <span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='st'>'mm10'</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>)</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='input'> <span class='fu'>plot_intervals</span>(<span class='no'>targets</span>)</div><div class='img'><img src='plot_intervals-1.png' alt='' width='700' height='433' /></div><div class='input'> -<span class='co'># PE targets</span> - <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> - <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, - <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, - <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, - <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), - <span class='no'>bsgenome</span>) - <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_pe_spacers.html'>find_pe_spacers</a></span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>)</div><div class='img'><img src='plot_intervals-2.png' alt='' width='700' height='433' /></div><div class='input'> <span class='fu'>plot_intervals</span>(<span class='no'>gr</span>)</div><div class='img'><img src='plot_intervals-3.png' alt='' width='700' height='433' /></div><div class='input'> <span class='fu'>plot_intervals</span>(<span class='fu'><a href='extend_for_pe.html'>extend_for_pe</a></span>(<span class='no'>gr</span>))</div><div class='img'><img src='plot_intervals-4.png' alt='' width='700' height='433' /></div><div class='input'> <span class='fu'>plot_intervals</span>(<span class='no'>spacers</span>)</div><div class='img'><img src='plot_intervals-5.png' alt='' width='700' height='433' /></div><div class='input'> -</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#see-also">See also</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Interval plot GRanges — plot_intervals • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Interval plot GRanges — plot_intervals" /> +<meta property="og:description" content="Interval plot GRanges" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Interval plot GRanges</h1> + + <div class="hidden name"><code>plot_intervals.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Interval plot GRanges</p> + </div> + + <pre class="usage"><span class='fu'>plot_intervals</span>( + <span class='no'>gr</span>, + <span class='kw'>xref</span> <span class='kw'>=</span> <span class='st'>"targetname"</span>, + <span class='kw'>y</span> <span class='kw'>=</span> <span class='st'>"names"</span>, + <span class='kw'>nperchrom</span> <span class='kw'>=</span> <span class='fl'>2</span>, + <span class='kw'>nchrom</span> <span class='kw'>=</span> <span class='fl'>4</span>, + <span class='kw'>color_var</span> <span class='kw'>=</span> <span class='st'>"targetname"</span>, + <span class='kw'>facet_var</span> <span class='kw'>=</span> <span class='st'>"seqnames"</span>, + <span class='kw'>linetype_var</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, + <span class='kw'>size_var</span> <span class='kw'>=</span> <span class='fu'>default_size_var</span>(<span class='no'>gr</span>), + <span class='kw'>alpha_var</span> <span class='kw'>=</span> <span class='fu'>default_alpha_var</span>(<span class='no'>gr</span>), + <span class='kw'>title</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, + <span class='kw'>scales</span> <span class='kw'>=</span> <span class='st'>"free"</span> +)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>gr</th> + <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> + </tr> + <tr> + <th>xref</th> + <td><p>gr var used for scaling x axis</p></td> + </tr> + <tr> + <th>y</th> + <td><p>'names' (default) or name of gr variable</p></td> + </tr> + <tr> + <th>nperchrom</th> + <td><p>number (default 1): n head (and n tail) targets +shown per chromosome</p></td> + </tr> + <tr> + <th>nchrom</th> + <td><p>number (default 6) of chromosomes shown</p></td> + </tr> + <tr> + <th>color_var</th> + <td><p>'seqnames' (default) or other gr variable</p></td> + </tr> + <tr> + <th>facet_var</th> + <td><p>NULL(default) or gr variable mapped to facet</p></td> + </tr> + <tr> + <th>linetype_var</th> + <td><p>NULL (default) or gr variable mapped to linetype</p></td> + </tr> + <tr> + <th>size_var</th> + <td><p>NULL (default) or gr variable mapped to size</p></td> + </tr> + <tr> + <th>alpha_var</th> + <td><p>NULL or gr variable mapped to alpha</p></td> + </tr> + <tr> + <th>title</th> + <td><p>NULL or string: plot title</p></td> + </tr> + <tr> + <th>scales</th> + <td><p>'free', 'fixed', etc</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>ggplot object</p> + <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2> + + <div class='dont-index'><p><code><a href='plot_karyogram.html'>plot_karyogram</a></code></p></div> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='co'># SRF sites</span> + <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) + <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>BSgenome.Mmusculus.UCSC.mm10</a></span> + <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) + <span class='no'>targets</span> <span class='kw'><-</span> <span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='st'>'mm10'</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>)</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='input'> <span class='fu'>plot_intervals</span>(<span class='no'>targets</span>)</div><div class='img'><img src='plot_intervals-1.png' alt='' width='700' height='433' /></div><div class='input'> +<span class='co'># PE targets</span> + <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> + <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, + <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, + <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, + <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>), + <span class='no'>bsgenome</span>) + <span class='no'>spacers</span> <span class='kw'><-</span> <span class='fu'><a href='find_pe_spacers.html'>find_pe_spacers</a></span>(<span class='no'>gr</span>, <span class='no'>bsgenome</span>)</div><div class='img'><img src='plot_intervals-2.png' alt='' width='700' height='433' /></div><div class='input'> <span class='fu'>plot_intervals</span>(<span class='no'>gr</span>)</div><div class='img'><img src='plot_intervals-3.png' alt='' width='700' height='433' /></div><div class='input'> <span class='fu'>plot_intervals</span>(<span class='fu'><a href='extend_for_pe.html'>extend_for_pe</a></span>(<span class='no'>gr</span>))</div><div class='img'><img src='plot_intervals-4.png' alt='' width='700' height='433' /></div><div class='input'> <span class='fu'>plot_intervals</span>(<span class='no'>spacers</span>)</div><div class='img'><img src='plot_intervals-5.png' alt='' width='700' height='433' /></div><div class='input'> +</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#see-also">See also</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/plot_karyogram-1.png b/public/reference/plot_karyogram-1.png index 44d8abbe9c1a5c64233642a4bbb9565af2a70fce..8af9e3ff1d8880b3a93ca6bba9ca982ecf45abe6 100644 Binary files a/public/reference/plot_karyogram-1.png and b/public/reference/plot_karyogram-1.png differ diff --git a/public/reference/plot_karyogram.html b/public/reference/plot_karyogram.html index 65e4389855516563de7181989a36bec3138ad63e..9332b6993d15dec6683b9353c0ef9916cece5841 100644 --- a/public/reference/plot_karyogram.html +++ b/public/reference/plot_karyogram.html @@ -1,186 +1,186 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Karyo/Interval Plot GRanges(List) — plot_karyogram • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Karyo/Interval Plot GRanges(List) — plot_karyogram" /> -<meta property="og:description" content="Karyo/Interval Plot GRanges(List)" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Karyo/Interval Plot GRanges(List)</h1> - - <div class="hidden name"><code>plot_karyogram.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Karyo/Interval Plot GRanges(List)</p> - </div> - - <pre class="usage"><span class='fu'>plot_karyogram</span>(<span class='no'>grlist</span>, <span class='kw'>title</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/unique.html'>unique</a></span>(<span class='fu'>genome</span>(<span class='no'>grlist</span>)))</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>grlist</th> - <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> - </tr> - <tr> - <th>title</th> - <td><p>plot title</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>list</p> - <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2> - - <div class='dont-index'><p><code><a href='plot_intervals.html'>plot_intervals</a></code></p></div> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='co'># Plot GRanges</span> - <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) - <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='st'>'mm10'</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>)</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='input'> <span class='fu'>plot_karyogram</span>(<span class='no'>gr</span>)</div><div class='input'> -<span class='co'># Plot GRangesList</span> - <span class='no'>flanks</span> <span class='kw'><-</span> <span class='fu'><a href='up_flank.html'>up_flank</a></span>(<span class='no'>gr</span>, <span class='kw'>stranded</span><span class='kw'>=</span><span class='fl'>FALSE</span>) - <span class='no'>grlist</span> <span class='kw'><-</span> <span class='kw pkg'>GenomicRanges</span><span class='kw ns'>::</span><span class='fu'><a href='https://rdrr.io/pkg/GenomicRanges/man/GRangesList-class.html'>GRangesList</a></span>(<span class='kw'>sites</span> <span class='kw'>=</span> <span class='no'>gr</span>, <span class='kw'>flanks</span> <span class='kw'>=</span> <span class='no'>flanks</span>) - <span class='fu'>plot_karyogram</span>(<span class='no'>grlist</span>)</div><div class='img'><img src='plot_karyogram-1.png' alt='' width='700' height='433' /></div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#see-also">See also</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Karyo/Interval Plot GRanges(List) — plot_karyogram • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Karyo/Interval Plot GRanges(List) — plot_karyogram" /> +<meta property="og:description" content="Karyo/Interval Plot GRanges(List)" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Karyo/Interval Plot GRanges(List)</h1> + + <div class="hidden name"><code>plot_karyogram.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Karyo/Interval Plot GRanges(List)</p> + </div> + + <pre class="usage"><span class='fu'>plot_karyogram</span>(<span class='no'>grlist</span>, <span class='kw'>title</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/unique.html'>unique</a></span>(<span class='fu'>genome</span>(<span class='no'>grlist</span>)))</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>grlist</th> + <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> + </tr> + <tr> + <th>title</th> + <td><p>plot title</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>list</p> + <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2> + + <div class='dont-index'><p><code><a href='plot_intervals.html'>plot_intervals</a></code></p></div> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='co'># Plot GRanges</span> + <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) + <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='st'>'mm10'</span>, <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>)</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='input'> <span class='fu'>plot_karyogram</span>(<span class='no'>gr</span>)</div><div class='input'> +<span class='co'># Plot GRangesList</span> + <span class='no'>flanks</span> <span class='kw'><-</span> <span class='fu'><a href='up_flank.html'>up_flank</a></span>(<span class='no'>gr</span>, <span class='kw'>stranded</span><span class='kw'>=</span><span class='fl'>FALSE</span>) + <span class='no'>grlist</span> <span class='kw'><-</span> <span class='kw pkg'>GenomicRanges</span><span class='kw ns'>::</span><span class='fu'><a href='https://rdrr.io/pkg/GenomicRanges/man/GRangesList-class.html'>GRangesList</a></span>(<span class='kw'>sites</span> <span class='kw'>=</span> <span class='no'>gr</span>, <span class='kw'>flanks</span> <span class='kw'>=</span> <span class='no'>flanks</span>) + <span class='fu'>plot_karyogram</span>(<span class='no'>grlist</span>)</div><div class='img'><img src='plot_karyogram-1.png' alt='' width='700' height='433' /></div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#see-also">See also</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/read_bed.html b/public/reference/read_bed.html index 47aec94372fb6e649c22783fd216cbe69ca686ce..c56eb42cfcb8d644f158ec61c3867439fa4aadb2 100644 --- a/public/reference/read_bed.html +++ b/public/reference/read_bed.html @@ -1,204 +1,204 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Read bedfile as data.table — read_bed • multicrispr</title> - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - -<meta property="og:title" content="Read bedfile as data.table — read_bed" /> - -<meta property="og:description" content="Read bedfile as data.table" /> -<meta name="twitter:card" content="summary" /> - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/using_multicrispr.html">Using multicrispr</a> - </li> - </ul> -</li> - </ul> - - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Read bedfile as data.table</h1> - - <div class="hidden name"><code>read_bed.Rd</code></div> - </div> - - <div class="ref-description"> - - <p>Read bedfile as data.table</p> - - </div> - - <pre class="usage"><span class='fu'>read_bed</span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, <span class='kw'>rm_duplicates</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>bedfile</th> - <td><p>file path</p></td> - </tr> - <tr> - <th>bsgenome</th> - <td><p>BSgenome, e.g. BSgenome.Mmusculus.UCSC.mm10::Mmusculus</p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>logical(1)</p></td> - </tr> - <tr> - <th>rm_duplicates</th> - <td><p>logical(1)</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>data.table(chr, start, end, strand)</p> - - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) -<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> -<span class='fu'>read_bed</span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='output co'>#> GRanges object with 1974 ranges and 0 metadata columns: -#> seqnames ranges strand -#> <Rle> <IRanges> <Rle> -#> [1] chr1 4712627-4712643 - -#> [2] chr1 5250211-5250227 - -#> [3] chr1 5250451-5250467 - -#> [4] chr1 5256192-5256208 - -#> [5] chr1 5985727-5985743 - -#> ... ... ... ... -#> [1970] chrY 6770311-6770327 + -#> [1971] chrY 23130567-23130583 + -#> [1972] chrY 42512399-42512415 - -#> [1973] chrY 79048175-79048191 - -#> [1974] chrY 89126493-89126509 - -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - - <li><a href="#value">Value</a></li> - - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Read bedfile as data.table — read_bed • multicrispr</title> + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + +<meta property="og:title" content="Read bedfile as data.table — read_bed" /> + +<meta property="og:description" content="Read bedfile as data.table" /> +<meta name="twitter:card" content="summary" /> + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/using_multicrispr.html">Using multicrispr</a> + </li> + </ul> +</li> + </ul> + + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Read bedfile as data.table</h1> + + <div class="hidden name"><code>read_bed.Rd</code></div> + </div> + + <div class="ref-description"> + + <p>Read bedfile as data.table</p> + + </div> + + <pre class="usage"><span class='fu'>read_bed</span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, <span class='kw'>rm_duplicates</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>bedfile</th> + <td><p>file path</p></td> + </tr> + <tr> + <th>bsgenome</th> + <td><p>BSgenome, e.g. BSgenome.Mmusculus.UCSC.mm10::Mmusculus</p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>logical(1)</p></td> + </tr> + <tr> + <th>rm_duplicates</th> + <td><p>logical(1)</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>data.table(chr, start, end, strand)</p> + + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) +<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> +<span class='fu'>read_bed</span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='output co'>#> GRanges object with 1974 ranges and 0 metadata columns: +#> seqnames ranges strand +#> <Rle> <IRanges> <Rle> +#> [1] chr1 4712627-4712643 - +#> [2] chr1 5250211-5250227 - +#> [3] chr1 5250451-5250467 - +#> [4] chr1 5256192-5256208 - +#> [5] chr1 5985727-5985743 - +#> ... ... ... ... +#> [1970] chrY 6770311-6770327 + +#> [1971] chrY 23130567-23130583 + +#> [1972] chrY 42512399-42512415 - +#> [1973] chrY 79048175-79048191 - +#> [1974] chrY 89126493-89126509 - +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + + <li><a href="#value">Value</a></li> + + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/right_flank.html b/public/reference/right_flank.html index 574174ad3846fcb7bbc967d7de9b474227555f16..f2c26d215db149220453c9905f96ce88232e72c9 100644 --- a/public/reference/right_flank.html +++ b/public/reference/right_flank.html @@ -1,200 +1,200 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Right flank — right_flank • multicrispr</title> - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - -<meta property="og:title" content="Right flank — right_flank" /> - -<meta property="og:description" content="Right flank" /> -<meta name="twitter:card" content="summary" /> - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/using_multicrispr.html">Using multicrispr</a> - </li> - </ul> -</li> - </ul> - - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Right flank</h1> - - <div class="hidden name"><code>right_flank.Rd</code></div> - </div> - - <div class="ref-description"> - - <p>Right flank</p> - - </div> - - <pre class="usage"><span class='fu'>right_flank</span>(<span class='no'>granges</span>, <span class='kw'>rightstart</span> <span class='kw'>=</span> <span class='fl'>1</span>, <span class='kw'>rightend</span> <span class='kw'>=</span> <span class='fl'>200</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>granges</th> - <td><p>data.table(chr, start, end)</p></td> - </tr> - <tr> - <th>rightstart</th> - <td><p>flank start relative to range start</p></td> - </tr> - <tr> - <th>rightend</th> - <td><p>flank end relative to range start</p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>logical(1)</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>GenomicRanges::GRanges</p> - - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) -<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) -<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> -<span class='no'>granges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='input'><span class='no'>granges</span> <span class='kw'>%>%</span> <span class='fu'><a href='https://rdrr.io/r/utils/head.html'>head</a></span>(<span class='fl'>1</span>)</div><div class='output co'>#> GRanges object with 1 range and 0 metadata columns: -#> seqnames ranges strand -#> <Rle> <IRanges> <Rle> -#> [1] chr1 4712627-4712643 - -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div><div class='input'><span class='no'>granges</span> <span class='kw'>%>%</span> <span class='fu'><a href='https://rdrr.io/r/utils/head.html'>head</a></span>(<span class='fl'>1</span>) <span class='kw'>%>%</span> <span class='fu'>right_flank</span>()</div><div class='output co'>#> <span class='message'> 1 right flanks : [end+1, end+200]</span></div><div class='output co'>#> GRanges object with 1 range and 0 metadata columns: -#> seqnames ranges strand -#> <Rle> <IRanges> <Rle> -#> [1] chr1 4712644-4712843 - -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - - <li><a href="#value">Value</a></li> - - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Right flank — right_flank • multicrispr</title> + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + +<meta property="og:title" content="Right flank — right_flank" /> + +<meta property="og:description" content="Right flank" /> +<meta name="twitter:card" content="summary" /> + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/using_multicrispr.html">Using multicrispr</a> + </li> + </ul> +</li> + </ul> + + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Right flank</h1> + + <div class="hidden name"><code>right_flank.Rd</code></div> + </div> + + <div class="ref-description"> + + <p>Right flank</p> + + </div> + + <pre class="usage"><span class='fu'>right_flank</span>(<span class='no'>granges</span>, <span class='kw'>rightstart</span> <span class='kw'>=</span> <span class='fl'>1</span>, <span class='kw'>rightend</span> <span class='kw'>=</span> <span class='fl'>200</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>granges</th> + <td><p>data.table(chr, start, end)</p></td> + </tr> + <tr> + <th>rightstart</th> + <td><p>flank start relative to range start</p></td> + </tr> + <tr> + <th>rightend</th> + <td><p>flank end relative to range start</p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>logical(1)</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>GenomicRanges::GRanges</p> + + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) +<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) +<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> +<span class='no'>granges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='input'><span class='no'>granges</span> <span class='kw'>%>%</span> <span class='fu'><a href='https://rdrr.io/r/utils/head.html'>head</a></span>(<span class='fl'>1</span>)</div><div class='output co'>#> GRanges object with 1 range and 0 metadata columns: +#> seqnames ranges strand +#> <Rle> <IRanges> <Rle> +#> [1] chr1 4712627-4712643 - +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div><div class='input'><span class='no'>granges</span> <span class='kw'>%>%</span> <span class='fu'><a href='https://rdrr.io/r/utils/head.html'>head</a></span>(<span class='fl'>1</span>) <span class='kw'>%>%</span> <span class='fu'>right_flank</span>()</div><div class='output co'>#> <span class='message'> 1 right flanks : [end+1, end+200]</span></div><div class='output co'>#> GRanges object with 1 range and 0 metadata columns: +#> seqnames ranges strand +#> <Rle> <IRanges> <Rle> +#> [1] chr1 4712644-4712843 - +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + + <li><a href="#value">Value</a></li> + + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/score_cas9ranges.html b/public/reference/score_cas9ranges.html index a2af59739d29e7e7ede925c97948758a1e59a649..23909111d76e9b6a5648f3b4ba564c1ef47878bb 100644 --- a/public/reference/score_cas9ranges.html +++ b/public/reference/score_cas9ranges.html @@ -1,234 +1,234 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Score cas9ranges — score_contextseqs • multicrispr</title> - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - -<meta property="og:title" content="Score cas9ranges — score_contextseqs" /> - -<meta property="og:description" content="Score cas9ranges using ruleset1 (Doench 2014) or ruleset2 (Doench 2016)" /> -<meta name="twitter:card" content="summary" /> - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/using_multicrispr.html">Using multicrispr</a> - </li> - </ul> -</li> - </ul> - - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Score cas9ranges</h1> - - <div class="hidden name"><code>score_cas9ranges.Rd</code></div> - </div> - - <div class="ref-description"> - - <p>Score cas9ranges using ruleset1 (Doench 2014) or ruleset2 (Doench 2016)</p> - - </div> - - <pre class="usage"><span class='fu'>score_contextseqs</span>(<span class='no'>contextseqs</span>, <span class='kw'>ruleset</span> <span class='kw'>=</span> <span class='fl'>1</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, - <span class='kw'>python</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, <span class='kw'>virtualenv</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, <span class='kw'>condaenv</span> <span class='kw'>=</span> <span class='kw'>NULL</span>) - -<span class='fu'>score_cas9ranges</span>(<span class='no'>cas9ranges</span>, <span class='kw'>ruleset</span> <span class='kw'>=</span> <span class='fl'>1</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, - <span class='kw'>python</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, <span class='kw'>virtualenv</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, <span class='kw'>condaenv</span> <span class='kw'>=</span> <span class='kw'>NULL</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>contextseqs</th> - <td><p>character vector with 4-23-3 contextseqs</p></td> - </tr> - <tr> - <th>ruleset</th> - <td><p>1 (default) or 2 (only if python module -github/MicrosoftResearch/azimuth is installed)</p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>logical(1)</p></td> - </tr> - <tr> - <th>python</th> - <td><p>NULL (ruleset=1) or path to a python binary (ruleset=2). See details.</p></td> - </tr> - <tr> - <th>virtualenv</th> - <td><p>NULL (ruleset=1) or directory containing python virtualenv (ruleset=2). See details.</p></td> - </tr> - <tr> - <th>condaenv</th> - <td><p>NULL (ruleset=1) or name of condaenv (ruleset=2). See details.</p></td> - </tr> - <tr> - <th>cas9ranges</th> - <td><p>GenomicRanges::GRanges</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>numeric vector</p> - - <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2> - - <p>ruleset1 is readily available. ruleset2 is accessible after installing -the python module [azimuth](https://github.com/MicrosoftResearch/Azimuth), -and specifying a value for either 'python' (python binary path), -'virtualenv' (python virtual environment dir) or -'condaenv' (python conda environment).</p> - - <h2 class="hasAnchor" id="references"><a class="anchor" href="#references"></a>References</h2> - - <p>Doench 2014, Rational design of highly active sgRNAs for -CRISPR-Cas9-mediated gene inactivation. Nature Biotechnology, -doi: 10.1038/nbt.3026</p> -<p>Doench 2016, Optimized sgRNA design to maximize activity and minimize -off-target effects of CRISPR-Cas9. Nature Biotechnology, -doi: 10.1038/nbt.3437</p> - - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'> -<span class='co'># Get cas9ranges</span> - <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) - <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) - <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> - <span class='no'>cas9ranges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>) <span class='kw'>%>%</span> - <span class='fu'><a href='flank_fourways.html'>flank_fourways</a></span>() <span class='kw'>%>%</span> - <span class='fu'><a href='find_cas9ranges.html'>find_cas9ranges</a></span>()</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='output co'>#> <span class='message'> Flank fourways</span></div><div class='output co'>#> <span class='message'> 1974 left flanks : [start-200, start-1]</span></div><div class='output co'>#> <span class='message'> 1974 right flanks : [end+1, end+200]</span></div><div class='output co'>#> <span class='message'> 3948 combined (left + right)</span></div><div class='output co'>#> <span class='message'> 7896 after adding strand-complements</span></div><div class='output co'>#> <span class='message'> 7306 after merging overlaps</span></div><div class='output co'>#> <span class='message'> Find N{20}NGG cas9seqs</span></div><div class='output co'>#> <span class='message'> Rm 10 targetranges with no cas9sites</span></div><div class='output co'>#> <span class='message'> 9922 cas9 seqs across 33518 targetranges</span></div><div class='input'><span class='co'># Score</span> - <span class='no'>cas9ranges</span>[<span class='fl'>1</span>:<span class='fl'>3</span>] <span class='kw'>%>%</span> <span class='fu'>score_cas9ranges</span>()</div><div class='output co'>#> <span class='message'> Score contextseqs (4-23-3) with ruleset1</span></div><div class='output co'>#> [1] 0.01708623 0.72298446 0.06796563</div><div class='input'> <span class='no'>cas9ranges</span>[<span class='fl'>1</span>:<span class='fl'>3</span>] <span class='kw'>%>%</span> <span class='fu'><a href='contextseqs.html'>contextseqs</a></span>() <span class='kw'>%>%</span> <span class='fu'>score_contextseqs</span>()</div><div class='output co'>#> <span class='message'> Score contextseqs (4-23-3) with ruleset1</span></div><div class='output co'>#> [1] 0.01708623 0.72298446 0.06796563</div><div class='input'> -</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - - <li><a href="#value">Value</a></li> - - <li><a href="#details">Details</a></li> - - <li><a href="#references">References</a></li> - - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Score cas9ranges — score_contextseqs • multicrispr</title> + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + +<meta property="og:title" content="Score cas9ranges — score_contextseqs" /> + +<meta property="og:description" content="Score cas9ranges using ruleset1 (Doench 2014) or ruleset2 (Doench 2016)" /> +<meta name="twitter:card" content="summary" /> + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/using_multicrispr.html">Using multicrispr</a> + </li> + </ul> +</li> + </ul> + + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Score cas9ranges</h1> + + <div class="hidden name"><code>score_cas9ranges.Rd</code></div> + </div> + + <div class="ref-description"> + + <p>Score cas9ranges using ruleset1 (Doench 2014) or ruleset2 (Doench 2016)</p> + + </div> + + <pre class="usage"><span class='fu'>score_contextseqs</span>(<span class='no'>contextseqs</span>, <span class='kw'>ruleset</span> <span class='kw'>=</span> <span class='fl'>1</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, + <span class='kw'>python</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, <span class='kw'>virtualenv</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, <span class='kw'>condaenv</span> <span class='kw'>=</span> <span class='kw'>NULL</span>) + +<span class='fu'>score_cas9ranges</span>(<span class='no'>cas9ranges</span>, <span class='kw'>ruleset</span> <span class='kw'>=</span> <span class='fl'>1</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, + <span class='kw'>python</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, <span class='kw'>virtualenv</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, <span class='kw'>condaenv</span> <span class='kw'>=</span> <span class='kw'>NULL</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>contextseqs</th> + <td><p>character vector with 4-23-3 contextseqs</p></td> + </tr> + <tr> + <th>ruleset</th> + <td><p>1 (default) or 2 (only if python module +github/MicrosoftResearch/azimuth is installed)</p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>logical(1)</p></td> + </tr> + <tr> + <th>python</th> + <td><p>NULL (ruleset=1) or path to a python binary (ruleset=2). See details.</p></td> + </tr> + <tr> + <th>virtualenv</th> + <td><p>NULL (ruleset=1) or directory containing python virtualenv (ruleset=2). See details.</p></td> + </tr> + <tr> + <th>condaenv</th> + <td><p>NULL (ruleset=1) or name of condaenv (ruleset=2). See details.</p></td> + </tr> + <tr> + <th>cas9ranges</th> + <td><p>GenomicRanges::GRanges</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>numeric vector</p> + + <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2> + + <p>ruleset1 is readily available. ruleset2 is accessible after installing +the python module [azimuth](https://github.com/MicrosoftResearch/Azimuth), +and specifying a value for either 'python' (python binary path), +'virtualenv' (python virtual environment dir) or +'condaenv' (python conda environment).</p> + + <h2 class="hasAnchor" id="references"><a class="anchor" href="#references"></a>References</h2> + + <p>Doench 2014, Rational design of highly active sgRNAs for +CRISPR-Cas9-mediated gene inactivation. Nature Biotechnology, +doi: 10.1038/nbt.3026</p> +<p>Doench 2016, Optimized sgRNA design to maximize activity and minimize +off-target effects of CRISPR-Cas9. Nature Biotechnology, +doi: 10.1038/nbt.3437</p> + + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'> +<span class='co'># Get cas9ranges</span> + <span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) + <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) + <span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> + <span class='no'>cas9ranges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>) <span class='kw'>%>%</span> + <span class='fu'><a href='flank_fourways.html'>flank_fourways</a></span>() <span class='kw'>%>%</span> + <span class='fu'><a href='find_cas9ranges.html'>find_cas9ranges</a></span>()</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='output co'>#> <span class='message'> Flank fourways</span></div><div class='output co'>#> <span class='message'> 1974 left flanks : [start-200, start-1]</span></div><div class='output co'>#> <span class='message'> 1974 right flanks : [end+1, end+200]</span></div><div class='output co'>#> <span class='message'> 3948 combined (left + right)</span></div><div class='output co'>#> <span class='message'> 7896 after adding strand-complements</span></div><div class='output co'>#> <span class='message'> 7306 after merging overlaps</span></div><div class='output co'>#> <span class='message'> Find N{20}NGG cas9seqs</span></div><div class='output co'>#> <span class='message'> Rm 10 targetranges with no cas9sites</span></div><div class='output co'>#> <span class='message'> 9922 cas9 seqs across 33518 targetranges</span></div><div class='input'><span class='co'># Score</span> + <span class='no'>cas9ranges</span>[<span class='fl'>1</span>:<span class='fl'>3</span>] <span class='kw'>%>%</span> <span class='fu'>score_cas9ranges</span>()</div><div class='output co'>#> <span class='message'> Score contextseqs (4-23-3) with ruleset1</span></div><div class='output co'>#> [1] 0.01708623 0.72298446 0.06796563</div><div class='input'> <span class='no'>cas9ranges</span>[<span class='fl'>1</span>:<span class='fl'>3</span>] <span class='kw'>%>%</span> <span class='fu'><a href='contextseqs.html'>contextseqs</a></span>() <span class='kw'>%>%</span> <span class='fu'>score_contextseqs</span>()</div><div class='output co'>#> <span class='message'> Score contextseqs (4-23-3) with ruleset1</span></div><div class='output co'>#> [1] 0.01708623 0.72298446 0.06796563</div><div class='input'> +</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + + <li><a href="#value">Value</a></li> + + <li><a href="#details">Details</a></li> + + <li><a href="#references">References</a></li> + + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/seqs.html b/public/reference/seqs.html index aee8e5e33185dfb316993fdf2494cdc943ff9895..48bf72d5aa769e24f8d8f6a46f8f8b8563adbd41 100644 --- a/public/reference/seqs.html +++ b/public/reference/seqs.html @@ -1,834 +1,834 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Get sequence values — seqs • multicrispr</title> - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - -<meta property="og:title" content="Get sequence values — seqs" /> - -<meta property="og:description" content="Get sequence values" /> -<meta name="twitter:card" content="summary" /> - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/using_multicrispr.html">Using multicrispr</a> - </li> - </ul> -</li> - </ul> - - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Get sequence values</h1> - - <div class="hidden name"><code>seqs.Rd</code></div> - </div> - - <div class="ref-description"> - - <p>Get sequence values</p> - - </div> - - <pre class="usage"><span class='fu'>seqs</span>(<span class='no'>granges</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>granges</th> - <td><p>GenomicRanges::GRanges</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>DNAStringSet (get) or GRanges (set)</p> - - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) -<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> -<span class='no'>granges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='input'><span class='fu'>seqs</span>(<span class='no'>granges</span>)</div><div class='output co'>#> [1] "AGACAATATAAGGGCAT" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" -#> [4] "AGACAATATAAGGACAT" "CCACCAAATATGGGCTT" "CAGCCCAGAGATGGTCC" -#> [7] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "TCACCTTAGAAGGAATA" -#> [10] "AATACCAATTAAGGCCA" "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" -#> [13] "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" -#> [16] "AGACAATATAAGGACAT" "GCACCCAAATAAGGGAA" "ACAGCTTATAAGGAGAA" -#> [19] "AGACAATATAAGGACAT" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" -#> [22] "GAGACAATATAAGGACA" "TGTACCATATATCGAGC" "GAGACAATATAAGGACG" -#> [25] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" -#> [28] "TCCCCTTAAAAGGTCAC" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" -#> [31] "GAGACAATATAAGGACA" "TTGAACATATATGAGAC" "TTGACAATATTTGGAAT" -#> [34] "GAGACAATATAAGGACA" "TGCCAGAATAAGGACAG" "GAGACAATATAAGGACA" -#> [37] "TGGCTATATATGGGATG" "TTACTATATATGTGATG" "AGACAATATAAGGACAT" -#> [40] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [43] "GAGACAATATAAGGACA" "TCACCCATATATGAAGA" "TCGCCCATAGATGGCGC" -#> [46] "CCACCAAACATGGGCTT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [49] "AGACAATATAAGGACAT" "GTCTCTATATAAGGAGT" "TTCCCACATTAGGTTAA" -#> [52] "GTGACCATGTAAGGTAA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [55] "AGCCCAAATTAGGCCTG" "TTGCCGTATTTGGTCTC" "AGACAATATAAGGACAT" -#> [58] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "CCACCAAACATGGGCTT" -#> [61] "TTACCATAGAGGGAGAA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [64] "TGACTATATTTGGAATG" "ATACCAATTAAGGCCAC" "TGTACCATATATCGAGC" -#> [67] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "TTGACAATATTTGGAAT" -#> [70] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [73] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" -#> [76] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [79] "TTGACAATATTTGGAAT" "CAGACAATATAAGGACA" "TTCCCTTAAAAGGCCTC" -#> [82] "GTTCCCTTAAAAGGCCT" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" -#> [85] "CTGCCTATATATGATGG" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [88] "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" "CAGCCTCTATATGGCCA" -#> [91] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [94] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [97] "CCACCAAACATGGGCTT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [100] "GAGACAATATAAGGACA" "TAGCCAGATATGCTCAT" "GAGACAATATAAGGACA" -#> [103] "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" "GAGACAATATAAGGACA" -#> [106] "TCCACCAAACATGGGCT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [109] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" -#> [112] "AGACAATATAAGGACAT" "AGACCATATAAGGACAT" "GAGACAATATAAGGACA" -#> [115] "TCCACCAAACATGGGCT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [118] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AATACCAATTAAGGCCA" -#> [121] "TTGACTATATTTGGAAT" "GAGACAATATAAGGACA" "TGTGCTTATAAGGGGGA" -#> [124] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" -#> [127] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [130] "GAGACAATATAAGGACA" "AAACAATATAAGGACAT" "CGAGTATATAAGGTCTT" -#> [133] "TTAGCCATACAAGGAGT" "TCCACCAAACATGGGCT" "AGACAATATAAGGACAT" -#> [136] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "GAGAAAATATAAGGACA" -#> [139] "ATGTCCCTATATTGTCT" "TGACAATATTTGGAATG" "GAGACAATATAAGGACA" -#> [142] "GTGTGCAGATAAGGGCC" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" -#> [145] "GTACCATATATCGAGCG" "GAGACAATATAAGGATA" "AGACAATATAAGGACAT" -#> [148] "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" "ATACCAATTAAGGCCAC" -#> [151] "AGCCTATGTATGGGCTT" "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" -#> [154] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" -#> [157] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" -#> [160] "AGACAATATAAGGACAT" "TGTACCATATATCGAGC" "GAGACAATATAAGGACA" -#> [163] "GTGGTCATAGATGGACA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [166] "TGTGCTTATAAGGGGCC" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [169] "GAGACAATATAAGGACA" "TTGTCAATGTAAGGTCA" "GAGACAATATAAGGACA" -#> [172] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [175] "AGAGCAGATATGGAAAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [178] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "AATACCAATTAAGGCCA" -#> [181] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [184] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [187] "TTGACTATATTTGGAAT" "GAGACAATATAAGGACA" "CGAGCCAGATAAGGAAA" -#> [190] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "TGTACCATATATCGAGC" -#> [193] "AGACAATATAAGGACAT" "AGACTATATAAGGACAT" "TGCTTATATAAGGTCTG" -#> [196] "GAGACAATATAAGGACA" "GAGACAATATAAGGAAA" "GAGACAATATAAGGACA" -#> [199] "AGACAATATAAGGACAT" "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" -#> [202] "GAGACAATATAAGGACA" "AATACCAATTAAGGCCA" "TTGACTATATTTGGAAT" -#> [205] "GAGACAATATAAGGACA" "TTGACTATATTTGGAAT" "GAGACAATATAAGGACA" -#> [208] "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" "TTGACTATATTTGGAAT" -#> [211] "GAGACAATATAAGGACA" "TGGCCAGATGTGGGAAA" "AGACAATATAAGGACAT" -#> [214] "GAGACAATATCAGGACA" "AGACAATATAAGGACAT" "GGTAGCAAATATGGGGT" -#> [217] "ATGGCCAAATATGTGGA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [220] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [223] "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [226] "GAGACAATATAAGGACA" "TGCCCATATATGGACTG" "GAGACAATATAAGGACA" -#> [229] "TCCACCAAACATGGGCT" "GGCCAATATATGGGCAT" "AGACAATATAAGGACAT" -#> [232] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "TGTACCATATATCGAGC" -#> [235] "AGACCATTTAAGGACAT" "AGACAATATAAGGACAT" "TCCCCAAAGAAGGCCAC" -#> [238] "TCTCCAGATATGGAAAA" "TGGGCGTATATGGGAGT" "AGACAATATAAGGACAT" -#> [241] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [244] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [247] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [250] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AATACCAATTAAGGCCA" -#> [253] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "CCACCAAATATGGGCTT" -#> [256] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [259] "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" -#> [262] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "ATTACCAAACATGGAGA" -#> [265] "CTGCCCATATAAGGAAG" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [268] "TTAACCAAATAAGGGTT" "CTCCCCTATGTGGGCAG" "TTTCCCATATAAGGCCG" -#> [271] "CTGTCTAAATAAGGAAT" "TTGCCCATACTAGGGAG" "GAGACAATATAAGGACA" -#> [274] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" -#> [277] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [280] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [283] "TGACTATATTTGGAATG" "GAGACAATATAAGCACA" "AGACAATATAAGGACAT" -#> [286] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TCAACATATTAGGGCAC" -#> [289] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [292] "GAGACAATATAAGGACA" "GGGACCATATAAGAGAA" "GAGACAATATAAGGACA" -#> [295] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "TTGACTATATTTGGAAT" -#> [298] "GAGACAATATAAGGACA" "AATACCAATTAAGGCCA" "TTGACTATATTTGGAAT" -#> [301] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [304] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [307] "AGACAATATAAGGACTT" "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" -#> [310] "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" "GTCACTATAGAAGGAAA" -#> [313] "GTAGCTTATAAGGTCTA" "ATGCCCAAATATGGCAC" "GAGACAATATAAGGACA" -#> [316] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "CGGCCCATTTAAGGGTG" -#> [319] "TGACTATATTTGGAATG" "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" -#> [322] "GAGACAATATAAGGACA" "TCACCACATAAGGGATT" "AGACAATATAAGGACAT" -#> [325] "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [328] "TATGCCTTATAAGGGTC" "CATCCCAGCTAAGGTCA" "TTCCCGGATAAGGAAAT" -#> [331] "TGCCCTAATAAGGTTCT" "CTTCCCACATGTGGTCT" "ACCACCCTATAAGGCGT" -#> [334] "ACTTCCTTATAAGGAAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [337] "ATTGCCACATAAGGAAC" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [340] "TTGCCCATACTAGGAAG" "GAGACAATATAAGGACA" "TTACCTTAGAAGGAATA" -#> [343] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [346] "TGACTATATTTGGAATG" "AGTCCCAGATATGGCAC" "TCGCCATATATGGACAT" -#> [349] "AGACAATATAAGGACAT" "GACACCAAGTATGGGGA" "AGACAATATAAGGACAT" -#> [352] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "GAGACAATATAAGGACA" -#> [355] "GTACCATATATCGAGCG" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [358] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "ATACCAATTAAGGCCAT" -#> [361] "GAGACAATATAAGGACA" "TTGCCACATATGGTGGC" "AGACAATATAAGGACAT" -#> [364] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" -#> [367] "AGACAATATAAGGACAT" "AATACCAATTAAGGCCA" "TTGACTATATTTGGAAT" -#> [370] "ATTTCTAAATAAGGCCA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [373] "TCACCATAGATGCTCTT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACC" -#> [376] "AGACAATATAAGGACAT" "GTTGCCACATATGGTGG" "GAGACAATATAAGGACA" -#> [379] "GTACCATATATCGAGCG" "GAGACAATATAAGGACA" "AGCCCATATTAGGTGGA" -#> [382] "AGCCCATATTAGGTGGA" "TGCCCCTCTAAGGTCTC" "CTCCCAAATAAGCGAAG" -#> [385] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" -#> [388] "TGACAATATTTGGAATG" "AATACCAATTAAGGCCA" "GAGACAATATAAGGACA" -#> [391] "GAGACAATATAAGGACA" "ACGCCCAAACAAGGTCA" "GAGACAATATAAGGACA" -#> [394] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [397] "GAGACAATATAAGGACA" "TGGACTATATAAGGACT" "GAGACAATATAAGGACA" -#> [400] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GAGACAGTATAAGGACA" -#> [403] "AGTCCATGTAAGGACTT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [406] "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" "AATACCAATTAAGGCCA" -#> [409] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "CCGCCCATATTAGGAGG" -#> [412] "TAGCTCAGATAAGGTCA" "TGACAATATTTGGAATG" "GAGACAATATAAGGACA" -#> [415] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [418] "GCGACCAAATAAGGCTG" "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" -#> [421] "ATGTCCATATTAGGACA" "TTTCCAAATATGGGCAG" "ACACTTTATAAGGAATA" -#> [424] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "AGACAATATAAGGACAT" -#> [427] "GAGACAATATAAGGACT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [430] "AGACAATATAAGGACAT" "GGCCTATATAAGGAGCA" "GAGACAATATAAGGACA" -#> [433] "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" "AGACAATATAAGGACAT" -#> [436] "TGACTATATTTGGAATG" "ATACCAATTAAGGCCAC" "TGTACCATATATCGAGC" -#> [439] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" -#> [442] "TGACAATATTTGGAATG" "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" -#> [445] "AATACCAATTAAGGCCA" "GTGAGCTTATAAGGGGG" "CGACCATATTTGTTGAG" -#> [448] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "TGTACCATATATCGAGC" -#> [451] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [454] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GTGACTATATATGGGAT" -#> [457] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "ATACCAATTAAGGCCAC" -#> [460] "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" -#> [463] "AGACAATATAAGGACAT" "GGACCAAATGTGGGCAC" "CTACCCAGACAAGGGCA" -#> [466] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" -#> [469] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" -#> [472] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGATAATATAAGGACAT" -#> [475] "AGATAATATAAGGACAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [478] "CCACCAAACATGGGCTT" "GAGACAATATAAGGACA" "TTGAGCATAAATGGCCT" -#> [481] "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [484] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" -#> [487] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [490] "GTACCATATATCGAGCG" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" -#> [493] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" -#> [496] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "TCCCCAAATAAAGCCTC" -#> [499] "GAGACAATATAAGGACA" "TTGCCCATATGACGTCA" "AGACTATATAAGGACAT" -#> [502] "AGACTATATAAGGACAT" "AGACTATATAAGGACAT" "GAGACAATATAAGGACA" -#> [505] "ATTCCAGATATGTGCAG" "CACCCCAAATAAAGGAA" "TTGTGCCTATATGGGAC" -#> [508] "AGACAATATAAGGACAT" "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" -#> [511] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" -#> [514] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [517] "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [520] "GAGACAATATAAGGACA" "TTCCCATAGGTGGGAAG" "AGACAATATAAGGACAT" -#> [523] "TGACTATATTTGGAATG" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [526] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [529] "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" -#> [532] "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [535] "TGACAATATTTGGAATG" "AATACCAATTAAGGCCA" "TGGCTATATAAGATCAT" -#> [538] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [541] "GAGACCATATAAGGACA" "GAGACAATATAAGGACA" "CCACCAAATATGGGCTT" -#> [544] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "GAGACAATATAAGGACA" -#> [547] "TCCCCTTTTAAGGAGAA" "GGTCTATATAAGAACAC" "AGGCCTATATAAGAACA" -#> [550] "GAGACAATATAAGGACA" "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" -#> [553] "GAGACAATATAAGGACA" "TTCCTATATAAGAACTC" "GGCCTATATAAGAACAC" -#> [556] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "TGTACCATATATCGAGC" -#> [559] "AGACAATATAAGGACAT" "AGGCCTATATAAAGACA" "TGGACCAAATAAAGGCG" -#> [562] "GGACCAAATAAAGGCGA" "AGGCCTATATAAGAACA" "GGCCTATATAAAGACAG" -#> [565] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGGCCTATATAAGAACA" -#> [568] "ATTCCTATATAAGAACT" "AGGCCTATATAAGAACA" "GGCCTATATAAGAACAA" -#> [571] "AGGCCTATATAAGAACA" "GAGACAATATAAGGACA" "AGGCCTATATAAGAACA" -#> [574] "AGGCCTATATAAGAACA" "GGCCTATATAAAGACAG" "AGCGCCATATATGGCCT" -#> [577] "TTCCCAAATAATGCCAC" "GGCGCCATATATGGCCT" "GCGCCATATATGGCCTG" -#> [580] "GGCGCCATATATGGCCT" "GCGCCATATATGGCCTG" "CAGGCCATATATGGTGC" -#> [583] "GCGCCATATATGGCCTG" "GCGCCATATATGGCCTG" "AGACAATATAAGGACAT" -#> [586] "TCCACCAAATATGGACT" "GAGACAATATAAGGACA" "CTGTCCCTATAAGTTGA" -#> [589] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "CAGGCCATATATGGTGC" -#> [592] "ATGCCCTTATAAGGAGC" "CACCCATATATGGTATG" "GTTGCCCTCTATGGGCA" -#> [595] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [598] "AGACAATATAAGGACAT" "TGTACCATATATCGAGC" "GGGCCCAATAAGGGAAC" -#> [601] "GAGACAATATAAGGACA" "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" -#> [604] "GAGACAATATAAGGACA" "TTGCCCATACTAGGGAG" "AGACAATATAAGGACAT" -#> [607] "AGACAATATAAGGACAT" "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" -#> [610] "AGACAATATAAGGACAT" "ATACCAATTAAGGCCAC" "TGTACCATATATCGAGC" -#> [613] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [616] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [619] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "TGACCAGAAAAGGACTC" -#> [622] "GGACCATATATGGGTAT" "AGACAATATAAGGACAT" "TTTCCCAAATTTGGATC" -#> [625] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [628] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" -#> [631] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [634] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [637] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" -#> [640] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" -#> [643] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [646] "GAGACAATATAAGGACA" "TACCCAAACAAGGGGAA" "TGCCCATACTAGGGAGA" -#> [649] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" -#> [652] "AGACAATATAAGGACAT" "CCACCAAACATGGGCTT" "AGACAATATAAGGACAT" -#> [655] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" -#> [658] "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [661] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "ATGACCTTATAAGGGGA" -#> [664] "GAGACAATATAAGGACA" "AATACCATAAAAGGAAA" "GTCTCCATATTTGTACA" -#> [667] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" -#> [670] "GAGACAATATAAGGACA" "TTTTCCTTATAAGAGTT" "AGGCCTATATAAGGAAC" -#> [673] "AGGCCTATATAAGGAAC" "AGGCCTATATAAGGAAC" "AGGCCTATATAAGGAAC" -#> [676] "AGGCCTATATAAGGAAC" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [679] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [682] "TGACAATATTTGGAATG" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [685] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [688] "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" -#> [691] "GAGACAATATAAGGACA" "ATGGCCAAATATGTGGA" "GAGACAATATAAGGACA" -#> [694] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [697] "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [700] "CCACCAAATATGGACTT" "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" -#> [703] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" -#> [706] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [709] "TGGCCCTATTAGGGAGG" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [712] "ATACCAATTAAGGCCAC" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [715] "GAGACAATATAAGGACA" "TGCCCCTTTAAGGGCGG" "AGACAATATAAGGACAT" -#> [718] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" -#> [721] "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" -#> [724] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "CCTCCAGATAAGGGTAA" -#> [727] "GAGACAATATAAGGACA" "AGACCATATAAGGACAT" "GAGACAATATAAGGACA" -#> [730] "CTGGCCATATAAGGTAA" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [733] "GAGACAATATAAGGACA" "AGTCCCAGATATGGCAC" "GAGACAATATAAGGACA" -#> [736] "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" -#> [739] "AGACAAAATAAGGACAT" "GAGACAATATAAGGACA" "GTAAGCATACATGGACA" -#> [742] "GAGACAATATAAGGACA" "TGTCCATGTAAGGTATG" "AGACAATATAAGGACAT" -#> [745] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATATGGACAT" -#> [748] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [751] "TTAACCATATAAGAGGG" "AGACAATATAAGGACAT" "TTAGCATACAAGGTAAC" -#> [754] "AGACAATTTAAGGACAT" "AGACAATATAAGGACAT" "ATGGCCAAATATGTGGA" -#> [757] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" -#> [760] "TGACAATATTTGGAATG" "CCACCAAACATGGGCTT" "AGTCCCAGATATGGCAC" -#> [763] "AATACCAATTAAGGCCA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [766] "AGACAATATAAGGACAT" "GAGACCATATAAAAACA" "GTACCATATATCGAGCG" -#> [769] "GTGACGATATATGGGAC" "AGACAATATAAGGAGAT" "GAGACAATATAAGGACA" -#> [772] "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" -#> [775] "GAGACAATATAAGGACA" "CCACCAAACATGGGCTT" "TGACAATATTTGGAATG" -#> [778] "CGACCCTACAAGGTCAG" "TGTCCCTTATAAGGTCA" "CCACCAAATATGGACTT" -#> [781] "GAGACAATATAAGGACA" "CACCCATAGATGGGCGG" "CACCCCCAATAAGGCCA" -#> [784] "AGACAATATAAGGACAT" "ATCACCATGTAAGGGCT" "TGCCTATACATAGTCAA" -#> [787] "CCTCCCCTATGTGGGCA" "CCTCCCCTATGTGGGCA" "CCGCCCATATCAGGGTG" -#> [790] "GACCCATATAAAGACCC" "GTCACCATGGATGGCCA" "GAGACAATATAAGGACA" -#> [793] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [796] "AGACCATATAAGGACAT" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" -#> [799] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" -#> [802] "TGACAATATTTGGAATG" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [805] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "TCCACCAAACATGGGCT" -#> [808] "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" -#> [811] "TTAGCAAAGATGGTCAG" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" -#> [814] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "TTACCCAATATGGAACC" -#> [817] "AGACAATATAAGGACAT" "AGACCATATAAGGACAT" "GAGGCCCAATAAGGGAA" -#> [820] "AATACCAATTAAGGCCA" "GAGACAATATAAGGACA" "CCACCAAACATGGGCTT" -#> [823] "TGACAATATTTGGAATG" "ATACCAATTAAGGCCAC" "GTCCCAGATATGGCACC" -#> [826] "AGACAATATAAGGACAT" "TGCCTAGATTTGGGAAG" "GAGACAATATAAGGACA" -#> [829] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [832] "GAGACAATATAAGGACA" "TGACCATATGAGGTCAG" "CGCCCTATATAAGGCGA" -#> [835] "CCCCCCATATAAAGAGA" "TCGCCATAAAAGGAAAC" "TCGCCATATAAGGAGCG" -#> [838] "AGACGATGTAAGGACAT" "AGACAATATAAGGACAT" "AGACAACATAAGGACAT" -#> [841] "TCACCTTAGAAGGAATA" "AAGACCAAAGAAGGGCT" "CGACAATATAAGGACAT" -#> [844] "TCCACCAAACATGGGCT" "GAGACAATATAAGGACA" "TCACCAAATATGGGCTT" -#> [847] "CGCCCAAAGAAGGCCAG" "AATACCAATTAAGGCCA" "AGACAATATAAGGACAT" -#> [850] "CTGCCCTAAGAAGGGCA" "GTCACCACAGAAGGGCA" "CCACCGAATATGGACTT" -#> [853] "AATACCAATTAAGGCCA" "GAGACAATATAAGGACA" "TTGAGCATATATGGCCT" -#> [856] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "GAGACAATATAAAGACA" -#> [859] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" -#> [862] "AGACAATATAAGGACAA" "GAGACAATATAAGGACA" "CTGCCCACATAAGGGAG" -#> [865] "AATACCAATTAAGGCCA" "GAGACAATATAAGGACA" "TTTACCTTAGAAGGAAT" -#> [868] "GAGACAATATAAGGACA" "TGGCCATAAATGGCCTC" "AGACAATATAAGGACAT" -#> [871] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TGTACCATATATCGAGC" -#> [874] "AGACAATATAAGGACAT" "ATACCAAATATGGCCAC" "GTACCATATATCGAGCG" -#> [877] "GAGACAATATAAGGACA" "CGGCCAAATATAGTATT" "GAGACAATATAAGGACA" -#> [880] "AGACCATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [883] "AGACAATATAAGGACAT" "AACGCCATATAAGGAGC" "TGCCCAAATAAGGTCTG" -#> [886] "ACTCCATATAAGGCGCT" "CCTTCCATATTAGGGCT" "TGGCCATATATGGGAAG" -#> [889] "AATCCAAATAAGGTCAG" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [892] "GAGACAATATAAGGACA" "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" -#> [895] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TGGCCAAATATGTGGAA" -#> [898] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TGAGCCTATAAGGACCA" -#> [901] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [904] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [907] "TTCACCTTAGAAGGAAT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [910] "AGACCATCTAAGGACAT" "AGACCATCTAAGGACAT" "TGACTATATCTGGAATA" -#> [913] "TGACTATATCTGGAATA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [916] "TGTACCATATATCGAGC" "GAGACTATATAAGGACA" "AGACCAAAGAAGGAAAG" -#> [919] "ATGCCCTAATAAGGACA" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [922] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [925] "TCCACCAAATATGGACT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [928] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" -#> [931] "TGACTATATTTGGAATG" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [934] "TGTACCATATATCGAGC" "TTCACCTTAGAAGGAAT" "GAGACAATATAAGGACA" -#> [937] "GAGACAATATAAGGACA" "AGTCCCAGATATGGCAC" "GTACCATATATCGAGCG" -#> [940] "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" -#> [943] "AGACAATATAAGGACAT" "TTGCCCATACAAGGGCG" "AGACAATATAAGGACAT" -#> [946] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" -#> [949] "TGCCCATATAAGGCCAA" "GAGACAATATAAGGACA" "TGTACCATATATCGAGC" -#> [952] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [955] "CTTCCCAAATTAGGAGA" "TACCCCAATAAGGCCAC" "TCACCATAGATGGAGAA" -#> [958] "AGACAATATAAGGACAT" "TGTACCATATATCGAGC" "TGACAATATTTGGAATG" -#> [961] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "ATACCAATTAAGGCCAC" -#> [964] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "GAGACAATATAAGGACA" -#> [967] "CACGCCCTATAAGGGGT" "GAGACAATATAAGGACA" "TTGCCTATATGTGGAAA" -#> [970] "TTCCTATGTATGGGAGT" "ACGACCATAGATAGACA" "GAGACCATATAAGGACA" -#> [973] "TTTCCCAAATGTGGTCC" "TGGCCATATTTGAAATG" "ATATGCATATATGGCCA" -#> [976] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [979] "TACCCAGAGAAGGGAAT" "GAGACAATATAAGGACA" "TCACCTTAGAAGGAATA" -#> [982] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [985] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "GCTCCATAAAAGGGGAG" -#> [988] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" -#> [991] "GAGACAATATAAGGACA" "GAGACAATATAAAGACA" "GAGACAATATAAGGACA" -#> [994] "AATACCAATTAAGGCCA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [997] "AGACAATATAAGGACAT" "GTGACCTTATGAGGAGA" "AGACAATATAAGGACAT" -#> [1000] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [1003] "TTTGCCATAAAAGGAGG" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [1006] "TGACCATATAATTTGTC" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [1009] "GGGACAATATAAGGACA" "GGGACAATATAAGGACA" "GGGACAATATAAGGACA" -#> [1012] "GGGACAATATAAGGACA" "GGGACAATATAAGGACA" "GGGACAATATAAGGACA" -#> [1015] "GGGACAATATAAGGACA" "ATGGCCAAATATGTGGA" "AGACAATATAAGGACAT" -#> [1018] "GAGACCATATAAGGACA" "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" -#> [1021] "TTGACAATATTTGGAAT" "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" -#> [1024] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "CCACCAAATAAGGGCTC" -#> [1027] "TGACCATTTTAGGGAAT" "AGACAATATAAGGACAT" "TTACCCAAACAAGGGAA" -#> [1030] "AGACAATATAAGGACAT" "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" -#> [1033] "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" "ATACCAATTAAGGCCAC" -#> [1036] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "GTACCATATATCGAGCG" -#> [1039] "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" -#> [1042] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TGTACCATATATCGAGC" -#> [1045] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [1048] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "GAGACAATATAAGGACA" -#> [1051] "CGCCCAGATAAGGGGCG" "TGTACCATATATCGAGT" "TCCCCTTTTAAGGAGAA" -#> [1054] "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" "AAACAATATAAGGACAT" -#> [1057] "TGACAATATTTGGAATG" "TGTACCATATATCGAGC" "AAACAATATAAGGACAT" -#> [1060] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" -#> [1063] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [1066] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TCCCCTTTTAAGGAGAA" -#> [1069] "GAGACAATATAAGGACA" "CCCGCCGTATATGGGAG" "TGCCCATACATGGAAGT" -#> [1072] "CCGCCCCTATATGGGCC" "TGGTCAAATATGGTCAA" "AGACAATATAAGGACAT" -#> [1075] "GTACCATATATCGAGCG" "CTACCAAATAGGGACTA" "AGACAATATAAGGACAT" -#> [1078] "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" "TGAGCCTATAAGGGCTT" -#> [1081] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "TTGACAATATTTGGAAT" -#> [1084] "AGGTCTATATAAGGAAG" "TGGTCCCTATGTGGTCA" "AGACAATATAAGGACAT" -#> [1087] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [1090] "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [1093] "GAGACAATATAAGGACA" "AGGACGATATAAGCGCA" "AGGCCTATATAAGGAGC" -#> [1096] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "GAGACAATATAAGGACA" -#> [1099] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [1102] "TCAACCAAATAAGGATT" "TGACTATATATGAGATG" "GTGTGCTTATAAGGGGG" -#> [1105] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" -#> [1108] "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" -#> [1111] "GAGACAATATAAGGACA" "AGCCCAGAGATGGTCCC" "AGACAATATAAGGACAT" -#> [1114] "TCCACCAAATATAGACT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [1117] "AATACCAATTAAGGCCA" "TTGACTATATTTGGAAT" "GAGACAATATAAGGACA" -#> [1120] "GTACCATATATCGAGCG" "CATACCATATGTGTTCT" "AGACAATATAAGGACAT" -#> [1123] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "TCACCTTAGAAGGAATA" -#> [1126] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [1129] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" -#> [1132] "TGACTATATTTGGAATG" "AGACCAAATATGGTCAC" "AGACCATATAAGGACAT" -#> [1135] "TGGCCAAATATGTGGAA" "GTAACTGTATATGGGAT" "AGACAATATAAGGACAT" -#> [1138] "GAGACAATATAAGGACA" "TGAGTATAGATGGTCAA" "CTGCCTAGATAAGGTGA" -#> [1141] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GTGACGTCATAAGGTCA" -#> [1144] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "GAGACAATATAAGGACA" -#> [1147] "AGACAATATAAGGACAT" "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" -#> [1150] "TGACTATATTTGGAATG" "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" -#> [1153] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GACGCCAGATATGGAAG" -#> [1156] "AGACAATATAAGGACAT" "TTTTCCATAGAAGAGCT" "TCCACCAAATATGGGCT" -#> [1159] "GAGACACTATAAGGACA" "AGGCCTATATATGGAAT" "AGGACCATATAGGAGCT" -#> [1162] "AAGCCTATATAAGCACT" "AGCCTATATAAGCACAT" "AGCCTATATAAGCACAT" -#> [1165] "AATACCAATTAAGGCCA" "GAGCCTATATAAGCACA" "GGCCTATATAAGCACAT" -#> [1168] "GAGCCTATATAAGCACA" "GAGCCTATATAAGCACA" "CTACCATATAAGTCTAG" -#> [1171] "ATGACCTTAAAAGGAAT" "CCACCATATAAGTCTAG" "ATGGCCTTAAAAGGAAT" -#> [1174] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TTCCCGTAAAAGGGGAA" -#> [1177] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" -#> [1180] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [1183] "AGACAATATAAGGACAT" "GTCCCCAAAGATGGTCA" "GGCCTACATAAGGTCAC" -#> [1186] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "ATACCAATTAAGGCCAC" -#> [1189] "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" "GTGTCCGTATATGGTCT" -#> [1192] "GAGACAATATAAGGACA" "TGTGTATATATGGGCAG" "GAGACAATATAAGGACA" -#> [1195] "TTGACTATATTTGGAAT" "GAGACAATATAAGGACA" "AGACCATATAAAGCTCA" -#> [1198] "GAGACAATATAAGGACA" "GTACCATATATCGAGCC" "GAGACAATATAAGGACA" -#> [1201] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GAGAAAATATAAGGACA" -#> [1204] "TCCACCAAACATGGGCT" "AGTGCCTGATAAGGTCA" "GAGACAATATAAGGACA" -#> [1207] "TCCACCAAATATGGACT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [1210] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [1213] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "ATTCCCGTATATGTTCC" -#> [1216] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" -#> [1219] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" -#> [1222] "GAGACAATATAAGGACA" "CTGGCCATATGATGTCA" "AGACAATATAAGGACAT" -#> [1225] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TGTACCATATATCGAGC" -#> [1228] "ACACCATATATGAGACC" "GAGACCATATAAGGACA" "GAGACAATATAAGGACA" -#> [1231] "AATACCAATTAAGGCCA" "GCTGCATATATGGCCTT" "AGACAATATAAGGACAT" -#> [1234] "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" -#> [1237] "AGACAATATAAGGACAT" "TTGACAATATTTGGAAT" "ATCTCCAGATAAGGGTC" -#> [1240] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [1243] "AGACAATATATGGACAT" "AGACAATATATGGACAT" "GTACCATATATCGAGCG" -#> [1246] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [1249] "GGCCCCTACATGGCCAG" "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" -#> [1252] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "TGTACCATATATCGAGC" -#> [1255] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" -#> [1258] "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [1261] "GTACCATATATCGAGCG" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" -#> [1264] "GAGACAATATAAGGACA" "TGCCCATAGAGGGTGTG" "TGGTCCACATAAGGGCA" -#> [1267] "GCACCGTATAAGGGAAT" "AGACAATATAAGGACAT" "TGTACCATATATCGAGC" -#> [1270] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "TGTGCATCTAAGGAAAA" -#> [1273] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" -#> [1276] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" -#> [1279] "GAGACAATATAAGGACA" "AGACAATATAAGGACAC" "GTCTCCAGATAAGGGTC" -#> [1282] "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAC" "GTCTCCAGATAAGGGTC" -#> [1285] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GCTGCCATGTAAGGCCT" -#> [1288] "CTGCCCTAGATGGTCAC" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [1291] "AGACAATATAAGGACAT" "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" -#> [1294] "GAGACAATATAAGGACA" "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" -#> [1297] "GAGACAATATAAGGACA" "AAGACCATAAAAGGGAC" "AGGCCTATATAAGGAGC" -#> [1300] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "ATACCAATTAAGGCCAC" -#> [1303] "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [1306] "AGACAATATAAGGACAT" "TGTACTATATAAGGAAG" "AGACAATATAAGGACAT" -#> [1309] "AGACAATATAAGGACAT" "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" -#> [1312] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "CTCCCCATAGAAGGTAA" -#> [1315] "TTGAGCATGTATGGACT" "TTGACTATATTTGGAAT" "GAGACAATATAAGGACA" -#> [1318] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [1321] "CTGTCCATATCAGGTAA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [1324] "AGTCCATAAAAGGGCTG" "TGGCCAAATATGTGGAA" "GAGACAATATAAGGACT" -#> [1327] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" -#> [1330] "TGCCAAAATATGGTGAT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [1333] "TGGACCTTTTAAGGACT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [1336] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "TGTACCATATATCGAGC" -#> [1339] "AGACAATATAAGGACAT" "CTGCCCAAATAAGGAGC" "GTGACCATAGATGGTCA" -#> [1342] "ATAACCTTAGAAGGTAT" "GATGGCAAATATGGACT" "AGCCCAAAGATGGGTAG" -#> [1345] "ATACCAATTAAGGCCAC" "TGTACCATATATCGAGC" "AGGAGTATATAAGGACT" -#> [1348] "AGACAATATAAGGACAT" "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" -#> [1351] "GATGCCATATAAGGCAA" "GTGTGCATATATGTGTA" "GAGACAATATAAGGACA" -#> [1354] "TTACCATATTAGGGCTC" "TCTCTATCTAAGGTCAG" "TGGCCCTATTTGGAGTA" -#> [1357] "CTCACGATGTAAGGACA" "CGCTCAAATATGGGCTC" "ATCCCTAATAAGGTGCA" -#> [1360] "AGACAATATAAGGACAT" "AGACCATATAAGGACAT" "GAGACAATATAAGGACA" -#> [1363] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [1366] "AGACAATATAAGGACAT" "AAGACTATAAATGGGCT" "TAGCCCATGGATGGGCA" -#> [1369] "TGGCCATAACTGGACAA" "AGTCCCAGATATGGCAC" "AATACCAATTAAGGCCA" -#> [1372] "TCCCCGTACATGGGCAG" "TTGACAATATTTGGAAT" "AGACAATATAAGGACAT" -#> [1375] "AGACCCATATAAGGACA" "TCCACCAAATATGGACT" "TGTCCATGTTAGGTAAG" -#> [1378] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TTGACAATATTTGGAAT" -#> [1381] "GAGACAATATAAGGACA" "TGACAATATTTGGAATG" "TTGCCATATTTGAGCTG" -#> [1384] "GAGACAATATAAGGACA" "TCGTCCCTATATGGTGG" "GAGACCATATAAGGACA" -#> [1387] "TGACTATATATGGTCAA" "AGACAATATAAGGACAT" "TCACCTTAGAAGGAATA" -#> [1390] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "TGCCCATACTAGGGAGA" -#> [1393] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" -#> [1396] "ATACCAATTAAGGCCAC" "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" -#> [1399] "CTCACAAATAAGGTCAT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [1402] "GAGACAATATAAGGACA" "GAGACCATATAAGGACA" "AGACAATATAAGGACAT" -#> [1405] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "ATACCAATTAAGGCCAC" -#> [1408] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [1411] "AGTCCCAGATATGGCAC" "GAGACAATATAAGGATA" "GAGACAATATAAGGACA" -#> [1414] "GTGACCGGATACGGGAA" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [1417] "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" -#> [1420] "GTGTGCTTATAAGGGGG" "CCCACCAAATATGGGCT" "AGACAATATAAGGACAT" -#> [1423] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" -#> [1426] "TTGACTATATTTGGAAT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [1429] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" -#> [1432] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [1435] "AATACCAATTAAGGCCA" "AGACAATATAAGGACAT" "TGCCCATAGATGGCTGA" -#> [1438] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [1441] "TGACAATATTTGGAATG" "ATACCAATTAAGGCCAC" "TACTCAAATAAGGCCAC" -#> [1444] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GGACTATACAAGGGCAG" -#> [1447] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [1450] "GCGCCTATATACGGCCT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [1453] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "TAGCCCATACTAGGGCT" -#> [1456] "AGACAATATAAGGACAT" "TCGCGATATATAGACAC" "AGACAATATAAGGACAT" -#> [1459] "TGACTATATTTGGAATG" "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" -#> [1462] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [1465] "TCACCAAATTAGGCAAG" "ATTACCATAAAAGGCAA" "GTGACAATATAAGGAAG" -#> [1468] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAAACAATATAAGGACA" -#> [1471] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [1474] "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [1477] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATACAAGGACAT" -#> [1480] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [1483] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "AATACCAATTAAGGCCA" -#> [1486] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "AGACCATACAAGGAGCG" -#> [1489] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "AGACAATATAAGGACAT" -#> [1492] "GATCCAGATAAGGACAG" "AGACAATATAAGGACAT" "TGGCCGTATATGTGCTC" -#> [1495] "TGATTATATAAGGTCTT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [1498] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [1501] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [1504] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "GAGACAATATAAGGACA" -#> [1507] "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" "TTGGGCATGTAAGGAAA" -#> [1510] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "ATACCAATTAAGGCCAC" -#> [1513] "AGACAATATAAGGACAT" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" -#> [1516] "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" -#> [1519] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "ATACCAATTAAGGCCAC" -#> [1522] "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" "TGTGCTTATAAGGGGGA" -#> [1525] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AATACCAATTAAGGCCA" -#> [1528] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [1531] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [1534] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [1537] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [1540] "TCCACCAAACATGGGCT" "AGACAATATAAGGACAT" "CCCGCAGATATGGTCAG" -#> [1543] "GCACCAAATTAGGACAG" "GAGACAATATAAGGACA" "AATACCAATTAAGGCCA" -#> [1546] "CTAACCATACAAGTTCA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [1549] "CCTGCCTTATAAGGGGA" "CTGGCTGTATATGGGTT" "GGACCAAATAACGGATT" -#> [1552] "GGCACCATAAAAGGTCT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [1555] "GAGACAATATAAGGACG" "GAGACAATATAAGGACA" "TTGACTATATTTGGAAT" -#> [1558] "GAGACAATATAAGGACA" "GTGGCTAAACATGGGCA" "CTTCCCACATAAGGTAC" -#> [1561] "GAGACCATATAAGGACA" "TCCCCTTAAAAGGACAA" "AGACAATATAAGGACAT" -#> [1564] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "AAGCCCTTATAAGGAGC" -#> [1567] "GATCGCATATTTGGACT" "AGACAATATAAGGACAT" "TATCCGTATTAGGTGAG" -#> [1570] "TTGCCATACATGGTGTG" "TCCACCAAACATGGGCT" "TCCACCAAACATGGGCT" -#> [1573] "GAGACAATATAAGGACA" "TCCACCAAATATGGACT" "GTACCATATATCGAGCG" -#> [1576] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [1579] "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" -#> [1582] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [1585] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [1588] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "TTAGCATAGATGGAGAA" -#> [1591] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "TAGAGCAAATAAGGATA" -#> [1594] "TAGACAATATAAGGTCT" "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" -#> [1597] "AGACAATATAAGGACAT" "CTGCCCAGACAAGGTAT" "CTGCCCAGACAAGGTAT" -#> [1600] "CTGCCCAGACAAGGTAT" "CTGCCCAGACAAGGTAT" "CTGCCCAGACAAGGTAT" -#> [1603] "CTGCCCAGACAAGGTAT" "CTGCCCAGACAAGGTAT" "CTGCCCAGACAAGGTAT" -#> [1606] "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [1609] "ATACCAATTAAGGCCAC" "GAGACAATATAAGGACA" "GAGACCAAATACGTGCA" -#> [1612] "TACCCATAGATGGGCCT" "TGCCCAAATAAGGAAGG" "TTAGCCATATAAGGAGC" -#> [1615] "TGACAATATTTGGAATG" "AATACCAATTAAGGCCA" "AGATAATATAAGGACAT" -#> [1618] "AGACAATATAAGGACAT" "CGACCATACAAGGAAAA" "GCCCCATAAAAGGAGAA" -#> [1621] "CCACCAAACATGGGCTT" "TCCACCAAACATGGGCT" "TTGACTATATTTGGAAT" -#> [1624] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAAACAATATAAGGACA" -#> [1627] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "CTGCCTTACAAGGGCAC" -#> [1630] "AAGGCCAAAAAAGGGCA" "TCGCCCAAAGATGGGGT" "AGACAATATAAGGACAT" -#> [1633] "TGTACCATATATCGAGC" "GCTACCATATTTGAACA" "AGACAATATAAGGACAT" -#> [1636] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "TGTACCATATATCGAGC" -#> [1639] "TCACCTTAGAAGGAATA" "TTGCCCCGATATGGCCC" "AGACAATATAAGGACAT" -#> [1642] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGGCAATATAAGGACAT" -#> [1645] "GAGACAATATAAGGACA" "ATTCCCTATATGGCTAG" "GGCCCATAAAAGGAGGG" -#> [1648] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "CCACCAAACATGGGCTT" -#> [1651] "TGTACCATATATCGAGC" "CCACCAAATATGGGCTT" "TGTACCATATATCGAGC" -#> [1654] "AGACAATATAAGGACAT" "GTGCCATTATAAGGGAT" "AGACAATATAAGGACAT" -#> [1657] "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" "ATACCAATTAAGGCCAC" -#> [1660] "AGACAATATAAGGACAT" "CCTTCCACATAAGGCCA" "GAGACAATATAAGGACA" -#> [1663] "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" -#> [1666] "GAGACTGTATAAGGACA" "GCATCCCTATAAGGTCA" "AGACAATATAAGGACAT" -#> [1669] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACCATATAAGGACAT" -#> [1672] "AAAACCAAATATGAACA" "TTAGCCATACAAGGGAA" "AGAGCATACATGGGCTG" -#> [1675] "CTAACCTTGTAAGGAGA" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" -#> [1678] "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" "CTTTCCAAAGAAGGACG" -#> [1681] "GAGACAATATAAGGACA" "GTCTCCAAGTAAGGGCA" "AGACAATATAAGGACAT" -#> [1684] "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [1687] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GTACCATATATCGAGCG" -#> [1690] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [1693] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" -#> [1696] "AGACAATATAAGGACAT" "CTGCCCACATAAGCGCT" "GAGACAATATAAGGACA" -#> [1699] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" -#> [1702] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [1705] "TCCACCAAATATGGACT" "TTCCCAGATATGCAGAG" "AGACAATATAAGGACAT" -#> [1708] "TCCACCAAATATGGAAC" "CTCCTATACAAGGGCAT" "GAGACAATATAAGGACA" -#> [1711] "AATACCAATTAAGGCCA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [1714] "CCACCAAACATGGGCTT" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" -#> [1717] "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" "CAGACCATAAAAGAACA" -#> [1720] "GAGACAATATAAGGATT" "CTGTCCATGTAAGACCA" "TGTCCATGTAAGACCAT" -#> [1723] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAATGACAT" -#> [1726] "AGACAATATAAGGACAT" "CTTCCTATGTATGGTCA" "AGACAATATAAGGACAT" -#> [1729] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [1732] "GAGACAATATAAGGACA" "TGTACCATATATCGAGC" "ATGCCCATATAAGGTGA" -#> [1735] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [1738] "GAGACAATATGAGGACA" "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" -#> [1741] "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" -#> [1744] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "TTCCTATATATTGTGAC" -#> [1747] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" -#> [1750] "GAGACAATATAAGGACA" "TGTCCTTATAAGAGTTG" "GAGACAATATAAGGACA" -#> [1753] "CTTCCCTATATGGGCGT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [1756] "TCCCCATATAAGACTTC" "AGACAATATAAGGACAT" "GAGACAATAGAAGGACA" -#> [1759] "CCCTCCAGATAAGGAAA" "ATGCCCATATAAGAACA" "AGGCCCATATATGGGCA" -#> [1762] "GCACCCATATTAGGGCA" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [1765] "GTACCATATATCGAGCG" "GAGACAATATAAGGACA" "GTCCCCAAATAAGGAAA" -#> [1768] "GGGGCCATATGTGGGCG" "GCGCCCATAAAAGGTAC" "AGACAATATAAGGACAT" -#> [1771] "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [1774] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "GAGACAATATAAGGTGC" -#> [1777] "AATACCAATTAAGGCCA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [1780] "GAGCCCAGATATGGGAG" "GCTCCATACAAGGGCGT" "AGGCCAAATAAGGCAGG" -#> [1783] "TTGACTATATTTGGAAT" "GAGACAATATAAGGACA" "CGCCCCTATGTGGGCAG" -#> [1786] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "CTATCCCTATTTGGTCA" -#> [1789] "AGTCCCAGATATGGCAC" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [1792] "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" "GAGACCATATAAGGACA" -#> [1795] "TGGCCATAGCTGGACTC" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [1798] "GAGACAATATAAGGACA" "TGTACCATATATCGAGC" "GTCCCAGATATGGCACC" -#> [1801] "AGACAATATAAGGACAT" "TTACCTTAGAAGGAATA" "GAGACAATATAAGGACA" -#> [1804] "CGCCCCATAGAAGGGAG" "CCACCAAATATGGACTT" "AGACAATATAAGGACAT" -#> [1807] "TGACTATATTTGGAATG" "AGACAATATCAGGACAT" "TGACTATATTTGGAATG" -#> [1810] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "GAGACAATATAAAGACA" -#> [1813] "AATACCAATTAAGGCCA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [1816] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [1819] "GCGGCCATATAAGGCAG" "TTGAGCAAATTTGGTCT" "AGACAATATAAGGACAT" -#> [1822] "TTGACTATATTTGGAAT" "GAGACAATATAAGGACA" "TGTCCATAAATGGAGAA" -#> [1825] "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [1828] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TGTACCATATATCGAGC" -#> [1831] "CAACCAGATATGGGCGT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [1834] "GTGACCATATAAGAGCA" "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" -#> [1837] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "GTCCCAGATATGGCACC" -#> [1840] "AGACAATATAAGGACAT" "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" -#> [1843] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TTCACCTTAGAAGGAAT" -#> [1846] "ACACCATATAAGGCCCG" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" -#> [1849] "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" -#> [1852] "ACTCCATATAAGACATT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [1855] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [1858] "GAGACAATATAAGGACA" "GTAGCCATAGATGGGCG" "TCACCAAATTAGGCCTT" -#> [1861] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "GAGACAATATAAGGACA" -#> [1864] "AGACAATATAAGGACAT" "TGTCTATTTAAGGTCAG" "GAGACAATATAAGGACA" -#> [1867] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "ATACCAATTAAGGCCAC" -#> [1870] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "TTGACAATATTTGGAAT" -#> [1873] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" -#> [1876] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [1879] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [1882] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "ATACCAATTAAGGCCAC" -#> [1885] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "ATACCAATTAAGGCCAC" -#> [1888] "AGACAATATAAGGACAT" "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" -#> [1891] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" -#> [1894] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [1897] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" -#> [1900] "GAGACAATATAAGGACA" "AATACCAATTAAGGCCA" "GAGACAATATAAGGACA" -#> [1903] "GGGACCCTATTTGGTGT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [1906] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GCCTCCAGATAAGGGTA" -#> [1909] "GAGACAATATAAGGACA" "CCTCCAGATAAGGGTAA" "GAGACAATATAAGGACA" -#> [1912] "AGACAATACAAGGACAT" "AGACAATATAAGGACAT" "ATGACCACAAATGGTCC" -#> [1915] "CCGCCTATATAAGGCGT" "AATACCAATTAAGGCCA" "TTCACCTTAGAAGGAAT" -#> [1918] "GAGACAATATAAGGACA" "ATGGCCAAATATGTGGA" "TGTACCATATATCGAGC" -#> [1921] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AATACCAATTAAGGCCA" -#> [1924] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [1927] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "GAGACAATATAAGGACA" -#> [1930] "CTCCCAAAGAAGGTGAA" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [1933] "GAGACAATATAAGGACA" "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" -#> [1936] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [1939] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "ATACCAATTAAGGCCAC" -#> [1942] "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" -#> [1945] "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" -#> [1948] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" -#> [1951] "GAGACAATATAAGGTTG" "TTGACTATATTTGGAAT" "GAGACAATATAAGGGTA" -#> [1954] "AGACAATATAAGGACCT" "AGACAATATAAGGACAT" "TATGCAAATAAGGTATA" -#> [1957] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [1960] "TGTGCTTATAAGGGGGG" "AGACAATATAAGGACAT" "AGACAATATAAGGACGT" -#> [1963] "TGACAATATTTGGAATG" "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" -#> [1966] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GTACCATATATCGAGCG" -#> [1969] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" -#> [1972] "TGGCCAAATATGTGGAA" "AGACAATATAAGGACAT" "TGCCCATACTAGGGAGA"</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - - <li><a href="#value">Value</a></li> - - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Get sequence values — seqs • multicrispr</title> + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + +<meta property="og:title" content="Get sequence values — seqs" /> + +<meta property="og:description" content="Get sequence values" /> +<meta name="twitter:card" content="summary" /> + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/using_multicrispr.html">Using multicrispr</a> + </li> + </ul> +</li> + </ul> + + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Get sequence values</h1> + + <div class="hidden name"><code>seqs.Rd</code></div> + </div> + + <div class="ref-description"> + + <p>Get sequence values</p> + + </div> + + <pre class="usage"><span class='fu'>seqs</span>(<span class='no'>granges</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>granges</th> + <td><p>GenomicRanges::GRanges</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>DNAStringSet (get) or GRanges (set)</p> + + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) +<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> +<span class='no'>granges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='input'><span class='fu'>seqs</span>(<span class='no'>granges</span>)</div><div class='output co'>#> [1] "AGACAATATAAGGGCAT" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" +#> [4] "AGACAATATAAGGACAT" "CCACCAAATATGGGCTT" "CAGCCCAGAGATGGTCC" +#> [7] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "TCACCTTAGAAGGAATA" +#> [10] "AATACCAATTAAGGCCA" "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" +#> [13] "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" +#> [16] "AGACAATATAAGGACAT" "GCACCCAAATAAGGGAA" "ACAGCTTATAAGGAGAA" +#> [19] "AGACAATATAAGGACAT" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" +#> [22] "GAGACAATATAAGGACA" "TGTACCATATATCGAGC" "GAGACAATATAAGGACG" +#> [25] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" +#> [28] "TCCCCTTAAAAGGTCAC" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" +#> [31] "GAGACAATATAAGGACA" "TTGAACATATATGAGAC" "TTGACAATATTTGGAAT" +#> [34] "GAGACAATATAAGGACA" "TGCCAGAATAAGGACAG" "GAGACAATATAAGGACA" +#> [37] "TGGCTATATATGGGATG" "TTACTATATATGTGATG" "AGACAATATAAGGACAT" +#> [40] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [43] "GAGACAATATAAGGACA" "TCACCCATATATGAAGA" "TCGCCCATAGATGGCGC" +#> [46] "CCACCAAACATGGGCTT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [49] "AGACAATATAAGGACAT" "GTCTCTATATAAGGAGT" "TTCCCACATTAGGTTAA" +#> [52] "GTGACCATGTAAGGTAA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [55] "AGCCCAAATTAGGCCTG" "TTGCCGTATTTGGTCTC" "AGACAATATAAGGACAT" +#> [58] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "CCACCAAACATGGGCTT" +#> [61] "TTACCATAGAGGGAGAA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [64] "TGACTATATTTGGAATG" "ATACCAATTAAGGCCAC" "TGTACCATATATCGAGC" +#> [67] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "TTGACAATATTTGGAAT" +#> [70] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [73] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" +#> [76] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [79] "TTGACAATATTTGGAAT" "CAGACAATATAAGGACA" "TTCCCTTAAAAGGCCTC" +#> [82] "GTTCCCTTAAAAGGCCT" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" +#> [85] "CTGCCTATATATGATGG" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [88] "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" "CAGCCTCTATATGGCCA" +#> [91] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [94] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [97] "CCACCAAACATGGGCTT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [100] "GAGACAATATAAGGACA" "TAGCCAGATATGCTCAT" "GAGACAATATAAGGACA" +#> [103] "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" "GAGACAATATAAGGACA" +#> [106] "TCCACCAAACATGGGCT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [109] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" +#> [112] "AGACAATATAAGGACAT" "AGACCATATAAGGACAT" "GAGACAATATAAGGACA" +#> [115] "TCCACCAAACATGGGCT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [118] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AATACCAATTAAGGCCA" +#> [121] "TTGACTATATTTGGAAT" "GAGACAATATAAGGACA" "TGTGCTTATAAGGGGGA" +#> [124] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" +#> [127] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [130] "GAGACAATATAAGGACA" "AAACAATATAAGGACAT" "CGAGTATATAAGGTCTT" +#> [133] "TTAGCCATACAAGGAGT" "TCCACCAAACATGGGCT" "AGACAATATAAGGACAT" +#> [136] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "GAGAAAATATAAGGACA" +#> [139] "ATGTCCCTATATTGTCT" "TGACAATATTTGGAATG" "GAGACAATATAAGGACA" +#> [142] "GTGTGCAGATAAGGGCC" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" +#> [145] "GTACCATATATCGAGCG" "GAGACAATATAAGGATA" "AGACAATATAAGGACAT" +#> [148] "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" "ATACCAATTAAGGCCAC" +#> [151] "AGCCTATGTATGGGCTT" "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" +#> [154] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" +#> [157] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" +#> [160] "AGACAATATAAGGACAT" "TGTACCATATATCGAGC" "GAGACAATATAAGGACA" +#> [163] "GTGGTCATAGATGGACA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [166] "TGTGCTTATAAGGGGCC" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [169] "GAGACAATATAAGGACA" "TTGTCAATGTAAGGTCA" "GAGACAATATAAGGACA" +#> [172] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [175] "AGAGCAGATATGGAAAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [178] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "AATACCAATTAAGGCCA" +#> [181] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [184] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [187] "TTGACTATATTTGGAAT" "GAGACAATATAAGGACA" "CGAGCCAGATAAGGAAA" +#> [190] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "TGTACCATATATCGAGC" +#> [193] "AGACAATATAAGGACAT" "AGACTATATAAGGACAT" "TGCTTATATAAGGTCTG" +#> [196] "GAGACAATATAAGGACA" "GAGACAATATAAGGAAA" "GAGACAATATAAGGACA" +#> [199] "AGACAATATAAGGACAT" "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" +#> [202] "GAGACAATATAAGGACA" "AATACCAATTAAGGCCA" "TTGACTATATTTGGAAT" +#> [205] "GAGACAATATAAGGACA" "TTGACTATATTTGGAAT" "GAGACAATATAAGGACA" +#> [208] "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" "TTGACTATATTTGGAAT" +#> [211] "GAGACAATATAAGGACA" "TGGCCAGATGTGGGAAA" "AGACAATATAAGGACAT" +#> [214] "GAGACAATATCAGGACA" "AGACAATATAAGGACAT" "GGTAGCAAATATGGGGT" +#> [217] "ATGGCCAAATATGTGGA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [220] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [223] "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [226] "GAGACAATATAAGGACA" "TGCCCATATATGGACTG" "GAGACAATATAAGGACA" +#> [229] "TCCACCAAACATGGGCT" "GGCCAATATATGGGCAT" "AGACAATATAAGGACAT" +#> [232] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "TGTACCATATATCGAGC" +#> [235] "AGACCATTTAAGGACAT" "AGACAATATAAGGACAT" "TCCCCAAAGAAGGCCAC" +#> [238] "TCTCCAGATATGGAAAA" "TGGGCGTATATGGGAGT" "AGACAATATAAGGACAT" +#> [241] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [244] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [247] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [250] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AATACCAATTAAGGCCA" +#> [253] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "CCACCAAATATGGGCTT" +#> [256] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [259] "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" +#> [262] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "ATTACCAAACATGGAGA" +#> [265] "CTGCCCATATAAGGAAG" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [268] "TTAACCAAATAAGGGTT" "CTCCCCTATGTGGGCAG" "TTTCCCATATAAGGCCG" +#> [271] "CTGTCTAAATAAGGAAT" "TTGCCCATACTAGGGAG" "GAGACAATATAAGGACA" +#> [274] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" +#> [277] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [280] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [283] "TGACTATATTTGGAATG" "GAGACAATATAAGCACA" "AGACAATATAAGGACAT" +#> [286] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TCAACATATTAGGGCAC" +#> [289] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [292] "GAGACAATATAAGGACA" "GGGACCATATAAGAGAA" "GAGACAATATAAGGACA" +#> [295] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "TTGACTATATTTGGAAT" +#> [298] "GAGACAATATAAGGACA" "AATACCAATTAAGGCCA" "TTGACTATATTTGGAAT" +#> [301] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [304] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [307] "AGACAATATAAGGACTT" "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" +#> [310] "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" "GTCACTATAGAAGGAAA" +#> [313] "GTAGCTTATAAGGTCTA" "ATGCCCAAATATGGCAC" "GAGACAATATAAGGACA" +#> [316] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "CGGCCCATTTAAGGGTG" +#> [319] "TGACTATATTTGGAATG" "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" +#> [322] "GAGACAATATAAGGACA" "TCACCACATAAGGGATT" "AGACAATATAAGGACAT" +#> [325] "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [328] "TATGCCTTATAAGGGTC" "CATCCCAGCTAAGGTCA" "TTCCCGGATAAGGAAAT" +#> [331] "TGCCCTAATAAGGTTCT" "CTTCCCACATGTGGTCT" "ACCACCCTATAAGGCGT" +#> [334] "ACTTCCTTATAAGGAAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [337] "ATTGCCACATAAGGAAC" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [340] "TTGCCCATACTAGGAAG" "GAGACAATATAAGGACA" "TTACCTTAGAAGGAATA" +#> [343] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [346] "TGACTATATTTGGAATG" "AGTCCCAGATATGGCAC" "TCGCCATATATGGACAT" +#> [349] "AGACAATATAAGGACAT" "GACACCAAGTATGGGGA" "AGACAATATAAGGACAT" +#> [352] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "GAGACAATATAAGGACA" +#> [355] "GTACCATATATCGAGCG" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [358] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "ATACCAATTAAGGCCAT" +#> [361] "GAGACAATATAAGGACA" "TTGCCACATATGGTGGC" "AGACAATATAAGGACAT" +#> [364] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" +#> [367] "AGACAATATAAGGACAT" "AATACCAATTAAGGCCA" "TTGACTATATTTGGAAT" +#> [370] "ATTTCTAAATAAGGCCA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [373] "TCACCATAGATGCTCTT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACC" +#> [376] "AGACAATATAAGGACAT" "GTTGCCACATATGGTGG" "GAGACAATATAAGGACA" +#> [379] "GTACCATATATCGAGCG" "GAGACAATATAAGGACA" "AGCCCATATTAGGTGGA" +#> [382] "AGCCCATATTAGGTGGA" "TGCCCCTCTAAGGTCTC" "CTCCCAAATAAGCGAAG" +#> [385] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" +#> [388] "TGACAATATTTGGAATG" "AATACCAATTAAGGCCA" "GAGACAATATAAGGACA" +#> [391] "GAGACAATATAAGGACA" "ACGCCCAAACAAGGTCA" "GAGACAATATAAGGACA" +#> [394] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [397] "GAGACAATATAAGGACA" "TGGACTATATAAGGACT" "GAGACAATATAAGGACA" +#> [400] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GAGACAGTATAAGGACA" +#> [403] "AGTCCATGTAAGGACTT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [406] "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" "AATACCAATTAAGGCCA" +#> [409] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "CCGCCCATATTAGGAGG" +#> [412] "TAGCTCAGATAAGGTCA" "TGACAATATTTGGAATG" "GAGACAATATAAGGACA" +#> [415] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [418] "GCGACCAAATAAGGCTG" "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" +#> [421] "ATGTCCATATTAGGACA" "TTTCCAAATATGGGCAG" "ACACTTTATAAGGAATA" +#> [424] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "AGACAATATAAGGACAT" +#> [427] "GAGACAATATAAGGACT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [430] "AGACAATATAAGGACAT" "GGCCTATATAAGGAGCA" "GAGACAATATAAGGACA" +#> [433] "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" "AGACAATATAAGGACAT" +#> [436] "TGACTATATTTGGAATG" "ATACCAATTAAGGCCAC" "TGTACCATATATCGAGC" +#> [439] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" +#> [442] "TGACAATATTTGGAATG" "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" +#> [445] "AATACCAATTAAGGCCA" "GTGAGCTTATAAGGGGG" "CGACCATATTTGTTGAG" +#> [448] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "TGTACCATATATCGAGC" +#> [451] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [454] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GTGACTATATATGGGAT" +#> [457] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "ATACCAATTAAGGCCAC" +#> [460] "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" +#> [463] "AGACAATATAAGGACAT" "GGACCAAATGTGGGCAC" "CTACCCAGACAAGGGCA" +#> [466] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" +#> [469] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" +#> [472] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGATAATATAAGGACAT" +#> [475] "AGATAATATAAGGACAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [478] "CCACCAAACATGGGCTT" "GAGACAATATAAGGACA" "TTGAGCATAAATGGCCT" +#> [481] "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [484] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" +#> [487] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [490] "GTACCATATATCGAGCG" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" +#> [493] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" +#> [496] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "TCCCCAAATAAAGCCTC" +#> [499] "GAGACAATATAAGGACA" "TTGCCCATATGACGTCA" "AGACTATATAAGGACAT" +#> [502] "AGACTATATAAGGACAT" "AGACTATATAAGGACAT" "GAGACAATATAAGGACA" +#> [505] "ATTCCAGATATGTGCAG" "CACCCCAAATAAAGGAA" "TTGTGCCTATATGGGAC" +#> [508] "AGACAATATAAGGACAT" "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" +#> [511] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" +#> [514] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [517] "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [520] "GAGACAATATAAGGACA" "TTCCCATAGGTGGGAAG" "AGACAATATAAGGACAT" +#> [523] "TGACTATATTTGGAATG" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [526] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [529] "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" +#> [532] "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [535] "TGACAATATTTGGAATG" "AATACCAATTAAGGCCA" "TGGCTATATAAGATCAT" +#> [538] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [541] "GAGACCATATAAGGACA" "GAGACAATATAAGGACA" "CCACCAAATATGGGCTT" +#> [544] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "GAGACAATATAAGGACA" +#> [547] "TCCCCTTTTAAGGAGAA" "GGTCTATATAAGAACAC" "AGGCCTATATAAGAACA" +#> [550] "GAGACAATATAAGGACA" "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" +#> [553] "GAGACAATATAAGGACA" "TTCCTATATAAGAACTC" "GGCCTATATAAGAACAC" +#> [556] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "TGTACCATATATCGAGC" +#> [559] "AGACAATATAAGGACAT" "AGGCCTATATAAAGACA" "TGGACCAAATAAAGGCG" +#> [562] "GGACCAAATAAAGGCGA" "AGGCCTATATAAGAACA" "GGCCTATATAAAGACAG" +#> [565] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGGCCTATATAAGAACA" +#> [568] "ATTCCTATATAAGAACT" "AGGCCTATATAAGAACA" "GGCCTATATAAGAACAA" +#> [571] "AGGCCTATATAAGAACA" "GAGACAATATAAGGACA" "AGGCCTATATAAGAACA" +#> [574] "AGGCCTATATAAGAACA" "GGCCTATATAAAGACAG" "AGCGCCATATATGGCCT" +#> [577] "TTCCCAAATAATGCCAC" "GGCGCCATATATGGCCT" "GCGCCATATATGGCCTG" +#> [580] "GGCGCCATATATGGCCT" "GCGCCATATATGGCCTG" "CAGGCCATATATGGTGC" +#> [583] "GCGCCATATATGGCCTG" "GCGCCATATATGGCCTG" "AGACAATATAAGGACAT" +#> [586] "TCCACCAAATATGGACT" "GAGACAATATAAGGACA" "CTGTCCCTATAAGTTGA" +#> [589] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "CAGGCCATATATGGTGC" +#> [592] "ATGCCCTTATAAGGAGC" "CACCCATATATGGTATG" "GTTGCCCTCTATGGGCA" +#> [595] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [598] "AGACAATATAAGGACAT" "TGTACCATATATCGAGC" "GGGCCCAATAAGGGAAC" +#> [601] "GAGACAATATAAGGACA" "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" +#> [604] "GAGACAATATAAGGACA" "TTGCCCATACTAGGGAG" "AGACAATATAAGGACAT" +#> [607] "AGACAATATAAGGACAT" "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" +#> [610] "AGACAATATAAGGACAT" "ATACCAATTAAGGCCAC" "TGTACCATATATCGAGC" +#> [613] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [616] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [619] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "TGACCAGAAAAGGACTC" +#> [622] "GGACCATATATGGGTAT" "AGACAATATAAGGACAT" "TTTCCCAAATTTGGATC" +#> [625] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [628] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" +#> [631] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [634] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [637] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" +#> [640] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" +#> [643] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [646] "GAGACAATATAAGGACA" "TACCCAAACAAGGGGAA" "TGCCCATACTAGGGAGA" +#> [649] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" +#> [652] "AGACAATATAAGGACAT" "CCACCAAACATGGGCTT" "AGACAATATAAGGACAT" +#> [655] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" +#> [658] "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [661] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "ATGACCTTATAAGGGGA" +#> [664] "GAGACAATATAAGGACA" "AATACCATAAAAGGAAA" "GTCTCCATATTTGTACA" +#> [667] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" +#> [670] "GAGACAATATAAGGACA" "TTTTCCTTATAAGAGTT" "AGGCCTATATAAGGAAC" +#> [673] "AGGCCTATATAAGGAAC" "AGGCCTATATAAGGAAC" "AGGCCTATATAAGGAAC" +#> [676] "AGGCCTATATAAGGAAC" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [679] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [682] "TGACAATATTTGGAATG" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [685] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [688] "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" +#> [691] "GAGACAATATAAGGACA" "ATGGCCAAATATGTGGA" "GAGACAATATAAGGACA" +#> [694] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [697] "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [700] "CCACCAAATATGGACTT" "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" +#> [703] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" +#> [706] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [709] "TGGCCCTATTAGGGAGG" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [712] "ATACCAATTAAGGCCAC" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [715] "GAGACAATATAAGGACA" "TGCCCCTTTAAGGGCGG" "AGACAATATAAGGACAT" +#> [718] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" +#> [721] "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" +#> [724] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "CCTCCAGATAAGGGTAA" +#> [727] "GAGACAATATAAGGACA" "AGACCATATAAGGACAT" "GAGACAATATAAGGACA" +#> [730] "CTGGCCATATAAGGTAA" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [733] "GAGACAATATAAGGACA" "AGTCCCAGATATGGCAC" "GAGACAATATAAGGACA" +#> [736] "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" +#> [739] "AGACAAAATAAGGACAT" "GAGACAATATAAGGACA" "GTAAGCATACATGGACA" +#> [742] "GAGACAATATAAGGACA" "TGTCCATGTAAGGTATG" "AGACAATATAAGGACAT" +#> [745] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATATGGACAT" +#> [748] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [751] "TTAACCATATAAGAGGG" "AGACAATATAAGGACAT" "TTAGCATACAAGGTAAC" +#> [754] "AGACAATTTAAGGACAT" "AGACAATATAAGGACAT" "ATGGCCAAATATGTGGA" +#> [757] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" +#> [760] "TGACAATATTTGGAATG" "CCACCAAACATGGGCTT" "AGTCCCAGATATGGCAC" +#> [763] "AATACCAATTAAGGCCA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [766] "AGACAATATAAGGACAT" "GAGACCATATAAAAACA" "GTACCATATATCGAGCG" +#> [769] "GTGACGATATATGGGAC" "AGACAATATAAGGAGAT" "GAGACAATATAAGGACA" +#> [772] "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" +#> [775] "GAGACAATATAAGGACA" "CCACCAAACATGGGCTT" "TGACAATATTTGGAATG" +#> [778] "CGACCCTACAAGGTCAG" "TGTCCCTTATAAGGTCA" "CCACCAAATATGGACTT" +#> [781] "GAGACAATATAAGGACA" "CACCCATAGATGGGCGG" "CACCCCCAATAAGGCCA" +#> [784] "AGACAATATAAGGACAT" "ATCACCATGTAAGGGCT" "TGCCTATACATAGTCAA" +#> [787] "CCTCCCCTATGTGGGCA" "CCTCCCCTATGTGGGCA" "CCGCCCATATCAGGGTG" +#> [790] "GACCCATATAAAGACCC" "GTCACCATGGATGGCCA" "GAGACAATATAAGGACA" +#> [793] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [796] "AGACCATATAAGGACAT" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" +#> [799] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" +#> [802] "TGACAATATTTGGAATG" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [805] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "TCCACCAAACATGGGCT" +#> [808] "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" +#> [811] "TTAGCAAAGATGGTCAG" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" +#> [814] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "TTACCCAATATGGAACC" +#> [817] "AGACAATATAAGGACAT" "AGACCATATAAGGACAT" "GAGGCCCAATAAGGGAA" +#> [820] "AATACCAATTAAGGCCA" "GAGACAATATAAGGACA" "CCACCAAACATGGGCTT" +#> [823] "TGACAATATTTGGAATG" "ATACCAATTAAGGCCAC" "GTCCCAGATATGGCACC" +#> [826] "AGACAATATAAGGACAT" "TGCCTAGATTTGGGAAG" "GAGACAATATAAGGACA" +#> [829] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [832] "GAGACAATATAAGGACA" "TGACCATATGAGGTCAG" "CGCCCTATATAAGGCGA" +#> [835] "CCCCCCATATAAAGAGA" "TCGCCATAAAAGGAAAC" "TCGCCATATAAGGAGCG" +#> [838] "AGACGATGTAAGGACAT" "AGACAATATAAGGACAT" "AGACAACATAAGGACAT" +#> [841] "TCACCTTAGAAGGAATA" "AAGACCAAAGAAGGGCT" "CGACAATATAAGGACAT" +#> [844] "TCCACCAAACATGGGCT" "GAGACAATATAAGGACA" "TCACCAAATATGGGCTT" +#> [847] "CGCCCAAAGAAGGCCAG" "AATACCAATTAAGGCCA" "AGACAATATAAGGACAT" +#> [850] "CTGCCCTAAGAAGGGCA" "GTCACCACAGAAGGGCA" "CCACCGAATATGGACTT" +#> [853] "AATACCAATTAAGGCCA" "GAGACAATATAAGGACA" "TTGAGCATATATGGCCT" +#> [856] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "GAGACAATATAAAGACA" +#> [859] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" +#> [862] "AGACAATATAAGGACAA" "GAGACAATATAAGGACA" "CTGCCCACATAAGGGAG" +#> [865] "AATACCAATTAAGGCCA" "GAGACAATATAAGGACA" "TTTACCTTAGAAGGAAT" +#> [868] "GAGACAATATAAGGACA" "TGGCCATAAATGGCCTC" "AGACAATATAAGGACAT" +#> [871] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TGTACCATATATCGAGC" +#> [874] "AGACAATATAAGGACAT" "ATACCAAATATGGCCAC" "GTACCATATATCGAGCG" +#> [877] "GAGACAATATAAGGACA" "CGGCCAAATATAGTATT" "GAGACAATATAAGGACA" +#> [880] "AGACCATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [883] "AGACAATATAAGGACAT" "AACGCCATATAAGGAGC" "TGCCCAAATAAGGTCTG" +#> [886] "ACTCCATATAAGGCGCT" "CCTTCCATATTAGGGCT" "TGGCCATATATGGGAAG" +#> [889] "AATCCAAATAAGGTCAG" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [892] "GAGACAATATAAGGACA" "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" +#> [895] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TGGCCAAATATGTGGAA" +#> [898] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TGAGCCTATAAGGACCA" +#> [901] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [904] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [907] "TTCACCTTAGAAGGAAT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [910] "AGACCATCTAAGGACAT" "AGACCATCTAAGGACAT" "TGACTATATCTGGAATA" +#> [913] "TGACTATATCTGGAATA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [916] "TGTACCATATATCGAGC" "GAGACTATATAAGGACA" "AGACCAAAGAAGGAAAG" +#> [919] "ATGCCCTAATAAGGACA" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [922] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [925] "TCCACCAAATATGGACT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [928] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" +#> [931] "TGACTATATTTGGAATG" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [934] "TGTACCATATATCGAGC" "TTCACCTTAGAAGGAAT" "GAGACAATATAAGGACA" +#> [937] "GAGACAATATAAGGACA" "AGTCCCAGATATGGCAC" "GTACCATATATCGAGCG" +#> [940] "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" +#> [943] "AGACAATATAAGGACAT" "TTGCCCATACAAGGGCG" "AGACAATATAAGGACAT" +#> [946] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" +#> [949] "TGCCCATATAAGGCCAA" "GAGACAATATAAGGACA" "TGTACCATATATCGAGC" +#> [952] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [955] "CTTCCCAAATTAGGAGA" "TACCCCAATAAGGCCAC" "TCACCATAGATGGAGAA" +#> [958] "AGACAATATAAGGACAT" "TGTACCATATATCGAGC" "TGACAATATTTGGAATG" +#> [961] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "ATACCAATTAAGGCCAC" +#> [964] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "GAGACAATATAAGGACA" +#> [967] "CACGCCCTATAAGGGGT" "GAGACAATATAAGGACA" "TTGCCTATATGTGGAAA" +#> [970] "TTCCTATGTATGGGAGT" "ACGACCATAGATAGACA" "GAGACCATATAAGGACA" +#> [973] "TTTCCCAAATGTGGTCC" "TGGCCATATTTGAAATG" "ATATGCATATATGGCCA" +#> [976] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [979] "TACCCAGAGAAGGGAAT" "GAGACAATATAAGGACA" "TCACCTTAGAAGGAATA" +#> [982] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [985] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "GCTCCATAAAAGGGGAG" +#> [988] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" +#> [991] "GAGACAATATAAGGACA" "GAGACAATATAAAGACA" "GAGACAATATAAGGACA" +#> [994] "AATACCAATTAAGGCCA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [997] "AGACAATATAAGGACAT" "GTGACCTTATGAGGAGA" "AGACAATATAAGGACAT" +#> [1000] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [1003] "TTTGCCATAAAAGGAGG" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [1006] "TGACCATATAATTTGTC" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [1009] "GGGACAATATAAGGACA" "GGGACAATATAAGGACA" "GGGACAATATAAGGACA" +#> [1012] "GGGACAATATAAGGACA" "GGGACAATATAAGGACA" "GGGACAATATAAGGACA" +#> [1015] "GGGACAATATAAGGACA" "ATGGCCAAATATGTGGA" "AGACAATATAAGGACAT" +#> [1018] "GAGACCATATAAGGACA" "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" +#> [1021] "TTGACAATATTTGGAAT" "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" +#> [1024] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "CCACCAAATAAGGGCTC" +#> [1027] "TGACCATTTTAGGGAAT" "AGACAATATAAGGACAT" "TTACCCAAACAAGGGAA" +#> [1030] "AGACAATATAAGGACAT" "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" +#> [1033] "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" "ATACCAATTAAGGCCAC" +#> [1036] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "GTACCATATATCGAGCG" +#> [1039] "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" +#> [1042] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TGTACCATATATCGAGC" +#> [1045] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [1048] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "GAGACAATATAAGGACA" +#> [1051] "CGCCCAGATAAGGGGCG" "TGTACCATATATCGAGT" "TCCCCTTTTAAGGAGAA" +#> [1054] "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" "AAACAATATAAGGACAT" +#> [1057] "TGACAATATTTGGAATG" "TGTACCATATATCGAGC" "AAACAATATAAGGACAT" +#> [1060] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" +#> [1063] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [1066] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TCCCCTTTTAAGGAGAA" +#> [1069] "GAGACAATATAAGGACA" "CCCGCCGTATATGGGAG" "TGCCCATACATGGAAGT" +#> [1072] "CCGCCCCTATATGGGCC" "TGGTCAAATATGGTCAA" "AGACAATATAAGGACAT" +#> [1075] "GTACCATATATCGAGCG" "CTACCAAATAGGGACTA" "AGACAATATAAGGACAT" +#> [1078] "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" "TGAGCCTATAAGGGCTT" +#> [1081] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "TTGACAATATTTGGAAT" +#> [1084] "AGGTCTATATAAGGAAG" "TGGTCCCTATGTGGTCA" "AGACAATATAAGGACAT" +#> [1087] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [1090] "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [1093] "GAGACAATATAAGGACA" "AGGACGATATAAGCGCA" "AGGCCTATATAAGGAGC" +#> [1096] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "GAGACAATATAAGGACA" +#> [1099] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [1102] "TCAACCAAATAAGGATT" "TGACTATATATGAGATG" "GTGTGCTTATAAGGGGG" +#> [1105] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" +#> [1108] "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" +#> [1111] "GAGACAATATAAGGACA" "AGCCCAGAGATGGTCCC" "AGACAATATAAGGACAT" +#> [1114] "TCCACCAAATATAGACT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [1117] "AATACCAATTAAGGCCA" "TTGACTATATTTGGAAT" "GAGACAATATAAGGACA" +#> [1120] "GTACCATATATCGAGCG" "CATACCATATGTGTTCT" "AGACAATATAAGGACAT" +#> [1123] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "TCACCTTAGAAGGAATA" +#> [1126] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [1129] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" +#> [1132] "TGACTATATTTGGAATG" "AGACCAAATATGGTCAC" "AGACCATATAAGGACAT" +#> [1135] "TGGCCAAATATGTGGAA" "GTAACTGTATATGGGAT" "AGACAATATAAGGACAT" +#> [1138] "GAGACAATATAAGGACA" "TGAGTATAGATGGTCAA" "CTGCCTAGATAAGGTGA" +#> [1141] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GTGACGTCATAAGGTCA" +#> [1144] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "GAGACAATATAAGGACA" +#> [1147] "AGACAATATAAGGACAT" "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" +#> [1150] "TGACTATATTTGGAATG" "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" +#> [1153] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GACGCCAGATATGGAAG" +#> [1156] "AGACAATATAAGGACAT" "TTTTCCATAGAAGAGCT" "TCCACCAAATATGGGCT" +#> [1159] "GAGACACTATAAGGACA" "AGGCCTATATATGGAAT" "AGGACCATATAGGAGCT" +#> [1162] "AAGCCTATATAAGCACT" "AGCCTATATAAGCACAT" "AGCCTATATAAGCACAT" +#> [1165] "AATACCAATTAAGGCCA" "GAGCCTATATAAGCACA" "GGCCTATATAAGCACAT" +#> [1168] "GAGCCTATATAAGCACA" "GAGCCTATATAAGCACA" "CTACCATATAAGTCTAG" +#> [1171] "ATGACCTTAAAAGGAAT" "CCACCATATAAGTCTAG" "ATGGCCTTAAAAGGAAT" +#> [1174] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TTCCCGTAAAAGGGGAA" +#> [1177] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" +#> [1180] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [1183] "AGACAATATAAGGACAT" "GTCCCCAAAGATGGTCA" "GGCCTACATAAGGTCAC" +#> [1186] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "ATACCAATTAAGGCCAC" +#> [1189] "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" "GTGTCCGTATATGGTCT" +#> [1192] "GAGACAATATAAGGACA" "TGTGTATATATGGGCAG" "GAGACAATATAAGGACA" +#> [1195] "TTGACTATATTTGGAAT" "GAGACAATATAAGGACA" "AGACCATATAAAGCTCA" +#> [1198] "GAGACAATATAAGGACA" "GTACCATATATCGAGCC" "GAGACAATATAAGGACA" +#> [1201] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GAGAAAATATAAGGACA" +#> [1204] "TCCACCAAACATGGGCT" "AGTGCCTGATAAGGTCA" "GAGACAATATAAGGACA" +#> [1207] "TCCACCAAATATGGACT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [1210] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [1213] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "ATTCCCGTATATGTTCC" +#> [1216] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" +#> [1219] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" +#> [1222] "GAGACAATATAAGGACA" "CTGGCCATATGATGTCA" "AGACAATATAAGGACAT" +#> [1225] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TGTACCATATATCGAGC" +#> [1228] "ACACCATATATGAGACC" "GAGACCATATAAGGACA" "GAGACAATATAAGGACA" +#> [1231] "AATACCAATTAAGGCCA" "GCTGCATATATGGCCTT" "AGACAATATAAGGACAT" +#> [1234] "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" +#> [1237] "AGACAATATAAGGACAT" "TTGACAATATTTGGAAT" "ATCTCCAGATAAGGGTC" +#> [1240] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [1243] "AGACAATATATGGACAT" "AGACAATATATGGACAT" "GTACCATATATCGAGCG" +#> [1246] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [1249] "GGCCCCTACATGGCCAG" "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" +#> [1252] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "TGTACCATATATCGAGC" +#> [1255] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" +#> [1258] "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [1261] "GTACCATATATCGAGCG" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" +#> [1264] "GAGACAATATAAGGACA" "TGCCCATAGAGGGTGTG" "TGGTCCACATAAGGGCA" +#> [1267] "GCACCGTATAAGGGAAT" "AGACAATATAAGGACAT" "TGTACCATATATCGAGC" +#> [1270] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "TGTGCATCTAAGGAAAA" +#> [1273] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" +#> [1276] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" +#> [1279] "GAGACAATATAAGGACA" "AGACAATATAAGGACAC" "GTCTCCAGATAAGGGTC" +#> [1282] "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAC" "GTCTCCAGATAAGGGTC" +#> [1285] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GCTGCCATGTAAGGCCT" +#> [1288] "CTGCCCTAGATGGTCAC" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [1291] "AGACAATATAAGGACAT" "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" +#> [1294] "GAGACAATATAAGGACA" "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" +#> [1297] "GAGACAATATAAGGACA" "AAGACCATAAAAGGGAC" "AGGCCTATATAAGGAGC" +#> [1300] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "ATACCAATTAAGGCCAC" +#> [1303] "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [1306] "AGACAATATAAGGACAT" "TGTACTATATAAGGAAG" "AGACAATATAAGGACAT" +#> [1309] "AGACAATATAAGGACAT" "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" +#> [1312] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "CTCCCCATAGAAGGTAA" +#> [1315] "TTGAGCATGTATGGACT" "TTGACTATATTTGGAAT" "GAGACAATATAAGGACA" +#> [1318] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [1321] "CTGTCCATATCAGGTAA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [1324] "AGTCCATAAAAGGGCTG" "TGGCCAAATATGTGGAA" "GAGACAATATAAGGACT" +#> [1327] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" +#> [1330] "TGCCAAAATATGGTGAT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [1333] "TGGACCTTTTAAGGACT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [1336] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "TGTACCATATATCGAGC" +#> [1339] "AGACAATATAAGGACAT" "CTGCCCAAATAAGGAGC" "GTGACCATAGATGGTCA" +#> [1342] "ATAACCTTAGAAGGTAT" "GATGGCAAATATGGACT" "AGCCCAAAGATGGGTAG" +#> [1345] "ATACCAATTAAGGCCAC" "TGTACCATATATCGAGC" "AGGAGTATATAAGGACT" +#> [1348] "AGACAATATAAGGACAT" "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" +#> [1351] "GATGCCATATAAGGCAA" "GTGTGCATATATGTGTA" "GAGACAATATAAGGACA" +#> [1354] "TTACCATATTAGGGCTC" "TCTCTATCTAAGGTCAG" "TGGCCCTATTTGGAGTA" +#> [1357] "CTCACGATGTAAGGACA" "CGCTCAAATATGGGCTC" "ATCCCTAATAAGGTGCA" +#> [1360] "AGACAATATAAGGACAT" "AGACCATATAAGGACAT" "GAGACAATATAAGGACA" +#> [1363] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [1366] "AGACAATATAAGGACAT" "AAGACTATAAATGGGCT" "TAGCCCATGGATGGGCA" +#> [1369] "TGGCCATAACTGGACAA" "AGTCCCAGATATGGCAC" "AATACCAATTAAGGCCA" +#> [1372] "TCCCCGTACATGGGCAG" "TTGACAATATTTGGAAT" "AGACAATATAAGGACAT" +#> [1375] "AGACCCATATAAGGACA" "TCCACCAAATATGGACT" "TGTCCATGTTAGGTAAG" +#> [1378] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TTGACAATATTTGGAAT" +#> [1381] "GAGACAATATAAGGACA" "TGACAATATTTGGAATG" "TTGCCATATTTGAGCTG" +#> [1384] "GAGACAATATAAGGACA" "TCGTCCCTATATGGTGG" "GAGACCATATAAGGACA" +#> [1387] "TGACTATATATGGTCAA" "AGACAATATAAGGACAT" "TCACCTTAGAAGGAATA" +#> [1390] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "TGCCCATACTAGGGAGA" +#> [1393] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" +#> [1396] "ATACCAATTAAGGCCAC" "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" +#> [1399] "CTCACAAATAAGGTCAT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [1402] "GAGACAATATAAGGACA" "GAGACCATATAAGGACA" "AGACAATATAAGGACAT" +#> [1405] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "ATACCAATTAAGGCCAC" +#> [1408] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [1411] "AGTCCCAGATATGGCAC" "GAGACAATATAAGGATA" "GAGACAATATAAGGACA" +#> [1414] "GTGACCGGATACGGGAA" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [1417] "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" +#> [1420] "GTGTGCTTATAAGGGGG" "CCCACCAAATATGGGCT" "AGACAATATAAGGACAT" +#> [1423] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" +#> [1426] "TTGACTATATTTGGAAT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [1429] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" +#> [1432] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [1435] "AATACCAATTAAGGCCA" "AGACAATATAAGGACAT" "TGCCCATAGATGGCTGA" +#> [1438] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [1441] "TGACAATATTTGGAATG" "ATACCAATTAAGGCCAC" "TACTCAAATAAGGCCAC" +#> [1444] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GGACTATACAAGGGCAG" +#> [1447] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [1450] "GCGCCTATATACGGCCT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [1453] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "TAGCCCATACTAGGGCT" +#> [1456] "AGACAATATAAGGACAT" "TCGCGATATATAGACAC" "AGACAATATAAGGACAT" +#> [1459] "TGACTATATTTGGAATG" "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" +#> [1462] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [1465] "TCACCAAATTAGGCAAG" "ATTACCATAAAAGGCAA" "GTGACAATATAAGGAAG" +#> [1468] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAAACAATATAAGGACA" +#> [1471] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [1474] "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [1477] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATACAAGGACAT" +#> [1480] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [1483] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "AATACCAATTAAGGCCA" +#> [1486] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "AGACCATACAAGGAGCG" +#> [1489] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "AGACAATATAAGGACAT" +#> [1492] "GATCCAGATAAGGACAG" "AGACAATATAAGGACAT" "TGGCCGTATATGTGCTC" +#> [1495] "TGATTATATAAGGTCTT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [1498] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [1501] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [1504] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "GAGACAATATAAGGACA" +#> [1507] "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" "TTGGGCATGTAAGGAAA" +#> [1510] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "ATACCAATTAAGGCCAC" +#> [1513] "AGACAATATAAGGACAT" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" +#> [1516] "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" +#> [1519] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "ATACCAATTAAGGCCAC" +#> [1522] "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" "TGTGCTTATAAGGGGGA" +#> [1525] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AATACCAATTAAGGCCA" +#> [1528] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [1531] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [1534] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [1537] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [1540] "TCCACCAAACATGGGCT" "AGACAATATAAGGACAT" "CCCGCAGATATGGTCAG" +#> [1543] "GCACCAAATTAGGACAG" "GAGACAATATAAGGACA" "AATACCAATTAAGGCCA" +#> [1546] "CTAACCATACAAGTTCA" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [1549] "CCTGCCTTATAAGGGGA" "CTGGCTGTATATGGGTT" "GGACCAAATAACGGATT" +#> [1552] "GGCACCATAAAAGGTCT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [1555] "GAGACAATATAAGGACG" "GAGACAATATAAGGACA" "TTGACTATATTTGGAAT" +#> [1558] "GAGACAATATAAGGACA" "GTGGCTAAACATGGGCA" "CTTCCCACATAAGGTAC" +#> [1561] "GAGACCATATAAGGACA" "TCCCCTTAAAAGGACAA" "AGACAATATAAGGACAT" +#> [1564] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "AAGCCCTTATAAGGAGC" +#> [1567] "GATCGCATATTTGGACT" "AGACAATATAAGGACAT" "TATCCGTATTAGGTGAG" +#> [1570] "TTGCCATACATGGTGTG" "TCCACCAAACATGGGCT" "TCCACCAAACATGGGCT" +#> [1573] "GAGACAATATAAGGACA" "TCCACCAAATATGGACT" "GTACCATATATCGAGCG" +#> [1576] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [1579] "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" +#> [1582] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [1585] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [1588] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "TTAGCATAGATGGAGAA" +#> [1591] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "TAGAGCAAATAAGGATA" +#> [1594] "TAGACAATATAAGGTCT" "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" +#> [1597] "AGACAATATAAGGACAT" "CTGCCCAGACAAGGTAT" "CTGCCCAGACAAGGTAT" +#> [1600] "CTGCCCAGACAAGGTAT" "CTGCCCAGACAAGGTAT" "CTGCCCAGACAAGGTAT" +#> [1603] "CTGCCCAGACAAGGTAT" "CTGCCCAGACAAGGTAT" "CTGCCCAGACAAGGTAT" +#> [1606] "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [1609] "ATACCAATTAAGGCCAC" "GAGACAATATAAGGACA" "GAGACCAAATACGTGCA" +#> [1612] "TACCCATAGATGGGCCT" "TGCCCAAATAAGGAAGG" "TTAGCCATATAAGGAGC" +#> [1615] "TGACAATATTTGGAATG" "AATACCAATTAAGGCCA" "AGATAATATAAGGACAT" +#> [1618] "AGACAATATAAGGACAT" "CGACCATACAAGGAAAA" "GCCCCATAAAAGGAGAA" +#> [1621] "CCACCAAACATGGGCTT" "TCCACCAAACATGGGCT" "TTGACTATATTTGGAAT" +#> [1624] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAAACAATATAAGGACA" +#> [1627] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "CTGCCTTACAAGGGCAC" +#> [1630] "AAGGCCAAAAAAGGGCA" "TCGCCCAAAGATGGGGT" "AGACAATATAAGGACAT" +#> [1633] "TGTACCATATATCGAGC" "GCTACCATATTTGAACA" "AGACAATATAAGGACAT" +#> [1636] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "TGTACCATATATCGAGC" +#> [1639] "TCACCTTAGAAGGAATA" "TTGCCCCGATATGGCCC" "AGACAATATAAGGACAT" +#> [1642] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGGCAATATAAGGACAT" +#> [1645] "GAGACAATATAAGGACA" "ATTCCCTATATGGCTAG" "GGCCCATAAAAGGAGGG" +#> [1648] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "CCACCAAACATGGGCTT" +#> [1651] "TGTACCATATATCGAGC" "CCACCAAATATGGGCTT" "TGTACCATATATCGAGC" +#> [1654] "AGACAATATAAGGACAT" "GTGCCATTATAAGGGAT" "AGACAATATAAGGACAT" +#> [1657] "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" "ATACCAATTAAGGCCAC" +#> [1660] "AGACAATATAAGGACAT" "CCTTCCACATAAGGCCA" "GAGACAATATAAGGACA" +#> [1663] "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" +#> [1666] "GAGACTGTATAAGGACA" "GCATCCCTATAAGGTCA" "AGACAATATAAGGACAT" +#> [1669] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACCATATAAGGACAT" +#> [1672] "AAAACCAAATATGAACA" "TTAGCCATACAAGGGAA" "AGAGCATACATGGGCTG" +#> [1675] "CTAACCTTGTAAGGAGA" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" +#> [1678] "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" "CTTTCCAAAGAAGGACG" +#> [1681] "GAGACAATATAAGGACA" "GTCTCCAAGTAAGGGCA" "AGACAATATAAGGACAT" +#> [1684] "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [1687] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GTACCATATATCGAGCG" +#> [1690] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [1693] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" +#> [1696] "AGACAATATAAGGACAT" "CTGCCCACATAAGCGCT" "GAGACAATATAAGGACA" +#> [1699] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" +#> [1702] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [1705] "TCCACCAAATATGGACT" "TTCCCAGATATGCAGAG" "AGACAATATAAGGACAT" +#> [1708] "TCCACCAAATATGGAAC" "CTCCTATACAAGGGCAT" "GAGACAATATAAGGACA" +#> [1711] "AATACCAATTAAGGCCA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [1714] "CCACCAAACATGGGCTT" "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" +#> [1717] "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" "CAGACCATAAAAGAACA" +#> [1720] "GAGACAATATAAGGATT" "CTGTCCATGTAAGACCA" "TGTCCATGTAAGACCAT" +#> [1723] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAATGACAT" +#> [1726] "AGACAATATAAGGACAT" "CTTCCTATGTATGGTCA" "AGACAATATAAGGACAT" +#> [1729] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [1732] "GAGACAATATAAGGACA" "TGTACCATATATCGAGC" "ATGCCCATATAAGGTGA" +#> [1735] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [1738] "GAGACAATATGAGGACA" "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" +#> [1741] "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" +#> [1744] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "TTCCTATATATTGTGAC" +#> [1747] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" +#> [1750] "GAGACAATATAAGGACA" "TGTCCTTATAAGAGTTG" "GAGACAATATAAGGACA" +#> [1753] "CTTCCCTATATGGGCGT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [1756] "TCCCCATATAAGACTTC" "AGACAATATAAGGACAT" "GAGACAATAGAAGGACA" +#> [1759] "CCCTCCAGATAAGGAAA" "ATGCCCATATAAGAACA" "AGGCCCATATATGGGCA" +#> [1762] "GCACCCATATTAGGGCA" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [1765] "GTACCATATATCGAGCG" "GAGACAATATAAGGACA" "GTCCCCAAATAAGGAAA" +#> [1768] "GGGGCCATATGTGGGCG" "GCGCCCATAAAAGGTAC" "AGACAATATAAGGACAT" +#> [1771] "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [1774] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "GAGACAATATAAGGTGC" +#> [1777] "AATACCAATTAAGGCCA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [1780] "GAGCCCAGATATGGGAG" "GCTCCATACAAGGGCGT" "AGGCCAAATAAGGCAGG" +#> [1783] "TTGACTATATTTGGAAT" "GAGACAATATAAGGACA" "CGCCCCTATGTGGGCAG" +#> [1786] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "CTATCCCTATTTGGTCA" +#> [1789] "AGTCCCAGATATGGCAC" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [1792] "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" "GAGACCATATAAGGACA" +#> [1795] "TGGCCATAGCTGGACTC" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [1798] "GAGACAATATAAGGACA" "TGTACCATATATCGAGC" "GTCCCAGATATGGCACC" +#> [1801] "AGACAATATAAGGACAT" "TTACCTTAGAAGGAATA" "GAGACAATATAAGGACA" +#> [1804] "CGCCCCATAGAAGGGAG" "CCACCAAATATGGACTT" "AGACAATATAAGGACAT" +#> [1807] "TGACTATATTTGGAATG" "AGACAATATCAGGACAT" "TGACTATATTTGGAATG" +#> [1810] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "GAGACAATATAAAGACA" +#> [1813] "AATACCAATTAAGGCCA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [1816] "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [1819] "GCGGCCATATAAGGCAG" "TTGAGCAAATTTGGTCT" "AGACAATATAAGGACAT" +#> [1822] "TTGACTATATTTGGAAT" "GAGACAATATAAGGACA" "TGTCCATAAATGGAGAA" +#> [1825] "TGACTATATTTGGAATG" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [1828] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "TGTACCATATATCGAGC" +#> [1831] "CAACCAGATATGGGCGT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [1834] "GTGACCATATAAGAGCA" "GAGACAATATAAGGACA" "TTGACAATATTTGGAAT" +#> [1837] "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" "GTCCCAGATATGGCACC" +#> [1840] "AGACAATATAAGGACAT" "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" +#> [1843] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TTCACCTTAGAAGGAAT" +#> [1846] "ACACCATATAAGGCCCG" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" +#> [1849] "AATACCAATTAAGGCCA" "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" +#> [1852] "ACTCCATATAAGACATT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [1855] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [1858] "GAGACAATATAAGGACA" "GTAGCCATAGATGGGCG" "TCACCAAATTAGGCCTT" +#> [1861] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "GAGACAATATAAGGACA" +#> [1864] "AGACAATATAAGGACAT" "TGTCTATTTAAGGTCAG" "GAGACAATATAAGGACA" +#> [1867] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "ATACCAATTAAGGCCAC" +#> [1870] "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" "TTGACAATATTTGGAAT" +#> [1873] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "AATACCAATTAAGGCCA" +#> [1876] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [1879] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [1882] "AGACAATATAAGGACAT" "TGACAATATTTGGAATG" "ATACCAATTAAGGCCAC" +#> [1885] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "ATACCAATTAAGGCCAC" +#> [1888] "AGACAATATAAGGACAT" "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" +#> [1891] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "TGACTATATTTGGAATG" +#> [1894] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [1897] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" +#> [1900] "GAGACAATATAAGGACA" "AATACCAATTAAGGCCA" "GAGACAATATAAGGACA" +#> [1903] "GGGACCCTATTTGGTGT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [1906] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GCCTCCAGATAAGGGTA" +#> [1909] "GAGACAATATAAGGACA" "CCTCCAGATAAGGGTAA" "GAGACAATATAAGGACA" +#> [1912] "AGACAATACAAGGACAT" "AGACAATATAAGGACAT" "ATGACCACAAATGGTCC" +#> [1915] "CCGCCTATATAAGGCGT" "AATACCAATTAAGGCCA" "TTCACCTTAGAAGGAAT" +#> [1918] "GAGACAATATAAGGACA" "ATGGCCAAATATGTGGA" "TGTACCATATATCGAGC" +#> [1921] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AATACCAATTAAGGCCA" +#> [1924] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [1927] "GAGACAATATAAGGACA" "GTACCATATATCGAGCG" "GAGACAATATAAGGACA" +#> [1930] "CTCCCAAAGAAGGTGAA" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [1933] "GAGACAATATAAGGACA" "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" +#> [1936] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [1939] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "ATACCAATTAAGGCCAC" +#> [1942] "TGTACCATATATCGAGC" "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" +#> [1945] "TGACAATATTTGGAATG" "AGACAATATAAGGACAT" "GAGACAATATAAGGACA" +#> [1948] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "AGACAATATAAGGACAT" +#> [1951] "GAGACAATATAAGGTTG" "TTGACTATATTTGGAAT" "GAGACAATATAAGGGTA" +#> [1954] "AGACAATATAAGGACCT" "AGACAATATAAGGACAT" "TATGCAAATAAGGTATA" +#> [1957] "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [1960] "TGTGCTTATAAGGGGGG" "AGACAATATAAGGACAT" "AGACAATATAAGGACGT" +#> [1963] "TGACAATATTTGGAATG" "ATACCAATTAAGGCCAC" "AGACAATATAAGGACAT" +#> [1966] "AGACAATATAAGGACAT" "AGACAATATAAGGACAT" "GTACCATATATCGAGCG" +#> [1969] "TTGACAATATTTGGAAT" "GAGACAATATAAGGACA" "GAGACAATATAAGGACA" +#> [1972] "TGGCCAAATATGTGGAA" "AGACAATATAAGGACAT" "TGCCCATACTAGGGAGA"</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + + <li><a href="#value">Value</a></li> + + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/slop.html b/public/reference/slop.html index d972ae7ced3b5abe499fda8a56f1090bd282c5b3..992043f3ee22ba2da2ac450d37ff4dff33421e6c 100644 --- a/public/reference/slop.html +++ b/public/reference/slop.html @@ -1,200 +1,200 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Slop (i.e. extend left/right) — slop • multicrispr</title> - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - -<meta property="og:title" content="Slop (i.e. extend left/right) — slop" /> - -<meta property="og:description" content="Slop (i.e. extend left/right)" /> -<meta name="twitter:card" content="summary" /> - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/using_multicrispr.html">Using multicrispr</a> - </li> - </ul> -</li> - </ul> - - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Slop (i.e. extend left/right)</h1> - - <div class="hidden name"><code>slop.Rd</code></div> - </div> - - <div class="ref-description"> - - <p>Slop (i.e. extend left/right)</p> - - </div> - - <pre class="usage"><span class='fu'>slop</span>(<span class='no'>granges</span>, <span class='kw'>leftstart</span> <span class='kw'>=</span> -<span class='fl'>22</span>, <span class='kw'>rightend</span> <span class='kw'>=</span> <span class='fl'>22</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>granges</th> - <td><p>GenomicRanges::GRanges</p></td> - </tr> - <tr> - <th>leftstart</th> - <td><p>flank start relative to range start</p></td> - </tr> - <tr> - <th>rightend</th> - <td><p>flank end relative to range start</p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>logical(1)</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>GenomicRanges::GRanges</p> - - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) -<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) -<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> -<span class='no'>granges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='input'><span class='no'>granges</span> <span class='kw'>%>%</span> <span class='fu'><a href='https://rdrr.io/r/utils/head.html'>head</a></span>(<span class='fl'>1</span>)</div><div class='output co'>#> GRanges object with 1 range and 0 metadata columns: -#> seqnames ranges strand -#> <Rle> <IRanges> <Rle> -#> [1] chr1 4712627-4712643 - -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div><div class='input'><span class='no'>granges</span> <span class='kw'>%>%</span> <span class='fu'><a href='https://rdrr.io/r/utils/head.html'>head</a></span>(<span class='fl'>1</span>) <span class='kw'>%>%</span> <span class='fu'>slop</span>()</div><div class='output co'>#> <span class='message'> 1 slopped granges: [start-22, end+22]</span></div><div class='output co'>#> GRanges object with 1 range and 0 metadata columns: -#> seqnames ranges strand -#> <Rle> <IRanges> <Rle> -#> [1] chr1 4712605-4712665 - -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - - <li><a href="#value">Value</a></li> - - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Slop (i.e. extend left/right) — slop • multicrispr</title> + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + +<meta property="og:title" content="Slop (i.e. extend left/right) — slop" /> + +<meta property="og:description" content="Slop (i.e. extend left/right)" /> +<meta name="twitter:card" content="summary" /> + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/using_multicrispr.html">Using multicrispr</a> + </li> + </ul> +</li> + </ul> + + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Slop (i.e. extend left/right)</h1> + + <div class="hidden name"><code>slop.Rd</code></div> + </div> + + <div class="ref-description"> + + <p>Slop (i.e. extend left/right)</p> + + </div> + + <pre class="usage"><span class='fu'>slop</span>(<span class='no'>granges</span>, <span class='kw'>leftstart</span> <span class='kw'>=</span> -<span class='fl'>22</span>, <span class='kw'>rightend</span> <span class='kw'>=</span> <span class='fl'>22</span>, <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>granges</th> + <td><p>GenomicRanges::GRanges</p></td> + </tr> + <tr> + <th>leftstart</th> + <td><p>flank start relative to range start</p></td> + </tr> + <tr> + <th>rightend</th> + <td><p>flank end relative to range start</p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>logical(1)</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>GenomicRanges::GRanges</p> + + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) +<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) +<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> +<span class='no'>granges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='input'><span class='no'>granges</span> <span class='kw'>%>%</span> <span class='fu'><a href='https://rdrr.io/r/utils/head.html'>head</a></span>(<span class='fl'>1</span>)</div><div class='output co'>#> GRanges object with 1 range and 0 metadata columns: +#> seqnames ranges strand +#> <Rle> <IRanges> <Rle> +#> [1] chr1 4712627-4712643 - +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div><div class='input'><span class='no'>granges</span> <span class='kw'>%>%</span> <span class='fu'><a href='https://rdrr.io/r/utils/head.html'>head</a></span>(<span class='fl'>1</span>) <span class='kw'>%>%</span> <span class='fu'>slop</span>()</div><div class='output co'>#> <span class='message'> 1 slopped granges: [start-22, end+22]</span></div><div class='output co'>#> GRanges object with 1 range and 0 metadata columns: +#> seqnames ranges strand +#> <Rle> <IRanges> <Rle> +#> [1] chr1 4712605-4712665 - +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + + <li><a href="#value">Value</a></li> + + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/slop_fourways.html b/public/reference/slop_fourways.html index 53188c375e3d150d293630af52963b1c1d8a13ed..95db5ba7ddf7268bc86c6d61fa5f8afbb2c02de6 100644 --- a/public/reference/slop_fourways.html +++ b/public/reference/slop_fourways.html @@ -1,221 +1,221 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Slop granges for both strands, merging overlaps — slop_fourways • multicrispr</title> - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - -<meta property="og:title" content="Slop granges for both strands, merging overlaps — slop_fourways" /> - -<meta property="og:description" content="Slop granges for both strands, merging overlaps" /> -<meta name="twitter:card" content="summary" /> - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/using_multicrispr.html">Using multicrispr</a> - </li> - </ul> -</li> - </ul> - - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Slop granges for both strands, merging overlaps</h1> - - <div class="hidden name"><code>slop_fourways.Rd</code></div> - </div> - - <div class="ref-description"> - - <p>Slop granges for both strands, merging overlaps</p> - - </div> - - <pre class="usage"><span class='fu'>slop_fourways</span>(<span class='no'>granges</span>, <span class='kw'>leftstart</span> <span class='kw'>=</span> -<span class='fl'>22</span>, <span class='kw'>rightend</span> <span class='kw'>=</span> <span class='fl'>22</span>, - <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>granges</th> - <td><p>GenomicRanges::GRanges</p></td> - </tr> - <tr> - <th>leftstart</th> - <td><p>numeric(1)</p></td> - </tr> - <tr> - <th>rightend</th> - <td><p>numeric(1)</p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>logical(1)</p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>GenomicRanges::GRanges</p> - - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) -<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) -<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> -<span class='no'>granges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='input'><span class='no'>granges</span></div><div class='output co'>#> GRanges object with 1974 ranges and 0 metadata columns: -#> seqnames ranges strand -#> <Rle> <IRanges> <Rle> -#> [1] chr1 4712627-4712643 - -#> [2] chr1 5250211-5250227 - -#> [3] chr1 5250451-5250467 - -#> [4] chr1 5256192-5256208 - -#> [5] chr1 5985727-5985743 - -#> ... ... ... ... -#> [1970] chrY 6770311-6770327 + -#> [1971] chrY 23130567-23130583 + -#> [1972] chrY 42512399-42512415 - -#> [1973] chrY 79048175-79048191 - -#> [1974] chrY 89126493-89126509 - -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div><div class='input'><span class='no'>granges</span> <span class='kw'>%>%</span> <span class='fu'>slop_fourways</span>()</div><div class='output co'>#> <span class='message'> Slop fourways</span></div><div class='output co'>#> <span class='message'> 1974 slopped granges: [start-22, end+22]</span></div><div class='output co'>#> <span class='message'> 3948 after adding strand-complements</span></div><div class='output co'>#> <span class='message'> 3932 after merging overlaps</span></div><div class='output co'>#> GRanges object with 3932 ranges and 0 metadata columns: -#> seqnames ranges strand -#> <Rle> <IRanges> <Rle> -#> [1] chr1 4712605-4712665 + -#> [2] chr1 5250189-5250249 + -#> [3] chr1 5250429-5250489 + -#> [4] chr1 5256170-5256230 + -#> [5] chr1 5985705-5985765 + -#> ... ... ... ... -#> [3928] chrY 6770289-6770349 - -#> [3929] chrY 23130545-23130605 - -#> [3930] chrY 42512377-42512437 - -#> [3931] chrY 79048153-79048213 - -#> [3932] chrY 89126471-89126531 - -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - - <li><a href="#value">Value</a></li> - - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Slop granges for both strands, merging overlaps — slop_fourways • multicrispr</title> + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + +<meta property="og:title" content="Slop granges for both strands, merging overlaps — slop_fourways" /> + +<meta property="og:description" content="Slop granges for both strands, merging overlaps" /> +<meta name="twitter:card" content="summary" /> + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.0.1</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/using_multicrispr.html">Using multicrispr</a> + </li> + </ul> +</li> + </ul> + + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Slop granges for both strands, merging overlaps</h1> + + <div class="hidden name"><code>slop_fourways.Rd</code></div> + </div> + + <div class="ref-description"> + + <p>Slop granges for both strands, merging overlaps</p> + + </div> + + <pre class="usage"><span class='fu'>slop_fourways</span>(<span class='no'>granges</span>, <span class='kw'>leftstart</span> <span class='kw'>=</span> -<span class='fl'>22</span>, <span class='kw'>rightend</span> <span class='kw'>=</span> <span class='fl'>22</span>, + <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>granges</th> + <td><p>GenomicRanges::GRanges</p></td> + </tr> + <tr> + <th>leftstart</th> + <td><p>numeric(1)</p></td> + </tr> + <tr> + <th>rightend</th> + <td><p>numeric(1)</p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>logical(1)</p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>GenomicRanges::GRanges</p> + + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) +<span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF_sites.bed'</span>, <span class='kw'>package</span> <span class='kw'>=</span> <span class='st'>'multicrispr'</span>) +<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Mmusculus.UCSC.mm10</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Mmusculus.UCSC.mm10/man/package.html'>Mmusculus</a></span> +<span class='no'>granges</span> <span class='kw'><-</span> <span class='fu'><a href='read_bed.html'>read_bed</a></span>(<span class='no'>bedfile</span>, <span class='no'>bsgenome</span>)</div><div class='output co'>#> <span class='message'> Read C:/Users/abhagwa/Documents/multicrispr/inst/extdata/SRF_sites.bed</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='output co'>#> <span class='message'> 17 NT wide</span></div><div class='output co'>#> <span class='message'> 0 - 36535760 NT apart</span></div><div class='input'><span class='no'>granges</span></div><div class='output co'>#> GRanges object with 1974 ranges and 0 metadata columns: +#> seqnames ranges strand +#> <Rle> <IRanges> <Rle> +#> [1] chr1 4712627-4712643 - +#> [2] chr1 5250211-5250227 - +#> [3] chr1 5250451-5250467 - +#> [4] chr1 5256192-5256208 - +#> [5] chr1 5985727-5985743 - +#> ... ... ... ... +#> [1970] chrY 6770311-6770327 + +#> [1971] chrY 23130567-23130583 + +#> [1972] chrY 42512399-42512415 - +#> [1973] chrY 79048175-79048191 - +#> [1974] chrY 89126493-89126509 - +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div><div class='input'><span class='no'>granges</span> <span class='kw'>%>%</span> <span class='fu'>slop_fourways</span>()</div><div class='output co'>#> <span class='message'> Slop fourways</span></div><div class='output co'>#> <span class='message'> 1974 slopped granges: [start-22, end+22]</span></div><div class='output co'>#> <span class='message'> 3948 after adding strand-complements</span></div><div class='output co'>#> <span class='message'> 3932 after merging overlaps</span></div><div class='output co'>#> GRanges object with 3932 ranges and 0 metadata columns: +#> seqnames ranges strand +#> <Rle> <IRanges> <Rle> +#> [1] chr1 4712605-4712665 + +#> [2] chr1 5250189-5250249 + +#> [3] chr1 5250429-5250489 + +#> [4] chr1 5256170-5256230 + +#> [5] chr1 5985705-5985765 + +#> ... ... ... ... +#> [3928] chrY 6770289-6770349 - +#> [3929] chrY 23130545-23130605 - +#> [3930] chrY 42512377-42512437 - +#> [3931] chrY 79048153-79048213 - +#> [3932] chrY 89126471-89126531 - +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + + <li><a href="#value">Value</a></li> + + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat, Mette Bentsen, Jens Preussner, Mario Looso.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.9100.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/public/reference/up_flank-1.png b/public/reference/up_flank-1.png index eaa35d5026f855166aa90ad07c4779f55a496406..f9dffbd6790d848d615146ec4f3e0b2cdbb4e8c2 100644 Binary files a/public/reference/up_flank-1.png and b/public/reference/up_flank-1.png differ diff --git a/public/reference/up_flank-10.png b/public/reference/up_flank-10.png index dce3b23d23bf0aff313199dde51755db0a20a332..5ef1c0856f0916b664ad4476792f5440d7c9347c 100644 Binary files a/public/reference/up_flank-10.png and b/public/reference/up_flank-10.png differ diff --git a/public/reference/up_flank-2.png b/public/reference/up_flank-2.png index 25ff4a326917424bfa586cff7474369cf0308b3e..6470cd955d515ec6dd55ac90c01fde8b77a1faa2 100644 Binary files a/public/reference/up_flank-2.png and b/public/reference/up_flank-2.png differ diff --git a/public/reference/up_flank-3.png b/public/reference/up_flank-3.png index c1c1891621657d63853440fddc8b164ec0cd3ca1..c6982859478fb9a0c2b9e507f00597ef30ca81c7 100644 Binary files a/public/reference/up_flank-3.png and b/public/reference/up_flank-3.png differ diff --git a/public/reference/up_flank-4.png b/public/reference/up_flank-4.png index e979fd4f89fb70e57567dbe797381d60112c2a91..5593f9c3a362b66b924f2fe41a9b15f1cec3145a 100644 Binary files a/public/reference/up_flank-4.png and b/public/reference/up_flank-4.png differ diff --git a/public/reference/up_flank-5.png b/public/reference/up_flank-5.png index a80d5677b57f90a2f11f049467c53b260976d012..841a290675a994bf2caed4637b38578886cee6dc 100644 Binary files a/public/reference/up_flank-5.png and b/public/reference/up_flank-5.png differ diff --git a/public/reference/up_flank-6.png b/public/reference/up_flank-6.png index abb0d4160c65e31fb7230e19645062e566ceb1bb..6a10fc871a4ecc1529e23c8811b3602f49f5be0a 100644 Binary files a/public/reference/up_flank-6.png and b/public/reference/up_flank-6.png differ diff --git a/public/reference/up_flank-7.png b/public/reference/up_flank-7.png index 2fa9dd21011d9aa61c2a5d26172ac121a09e78f3..f7ac80ffc8c47fd48735082a7978c4c3f9ab887a 100644 Binary files a/public/reference/up_flank-7.png and b/public/reference/up_flank-7.png differ diff --git a/public/reference/up_flank-8.png b/public/reference/up_flank-8.png index 85e7b50706ee1502ae7cdde0011fc29f97a48c7f..c11f5fc7696e13354c3d9ec6c9f7a5c0c8b26d41 100644 Binary files a/public/reference/up_flank-8.png and b/public/reference/up_flank-8.png differ diff --git a/public/reference/up_flank-9.png b/public/reference/up_flank-9.png index c6c80e014606bca22659a65567fa34924823451c..2bab70f3f19b56d4a852977fed19b568c0b312fe 100644 Binary files a/public/reference/up_flank-9.png and b/public/reference/up_flank-9.png differ diff --git a/public/reference/up_flank.html b/public/reference/up_flank.html index 2dc71da6bf4e2d09e6a88b8bcf4604ca853c7ef4..a98a42950d395da4703ee8ee65edb1a23aa27f15 100644 --- a/public/reference/up_flank.html +++ b/public/reference/up_flank.html @@ -1,390 +1,390 @@ -<!-- Generated by pkgdown: do not edit by hand --> -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> - -<title>Extend or Flank GRanges — up_flank • multicrispr</title> - - -<!-- jquery --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> -<!-- Bootstrap --> - -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> - -<!-- Font Awesome icons --> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> - -<!-- clipboard.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> - -<!-- headroom.js --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> - -<!-- pkgdown --> -<link href="../pkgdown.css" rel="stylesheet"> -<script src="../pkgdown.js"></script> - - - - -<meta property="og:title" content="Extend or Flank GRanges — up_flank" /> -<meta property="og:description" content="Returns extensions, upstream flanks, or downstream flanks" /> -<meta name="twitter:card" content="summary" /> - - - - -<!-- mathjax --> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> - -<!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--> - - - - </head> - - <body> - <div class="container template-reference-topic"> - <header> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">multicrispr</a> - <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li> - <a href="../index.html"> - <span class="fas fa fas fa-home fa-lg"></span> - - </a> -</li> -<li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li> - <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> - </li> - </ul> -</li> - </ul> - <ul class="nav navbar-nav navbar-right"> - - </ul> - - </div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header> - -<div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Extend or Flank GRanges</h1> - - <div class="hidden name"><code>up_flank.Rd</code></div> - </div> - - <div class="ref-description"> - <p>Returns extensions, upstream flanks, or downstream flanks</p> - </div> - - <pre class="usage"><span class='fu'>up_flank</span>( - <span class='no'>gr</span>, - <span class='kw'>start</span> <span class='kw'>=</span> -<span class='fl'>200</span>, - <span class='kw'>end</span> <span class='kw'>=</span> -<span class='fl'>1</span>, - <span class='kw'>strandaware</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, - <span class='kw'>bsgenome</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, - <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>, - <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>, - <span class='kw'>linetype_var</span> <span class='kw'>=</span> <span class='st'>"set"</span>, - <span class='no'>...</span> -) - -<span class='fu'>down_flank</span>( - <span class='no'>gr</span>, - <span class='kw'>start</span> <span class='kw'>=</span> <span class='fl'>1</span>, - <span class='kw'>end</span> <span class='kw'>=</span> <span class='fl'>200</span>, - <span class='kw'>strandaware</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, - <span class='kw'>bsgenome</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, - <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>, - <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>, - <span class='kw'>linetype_var</span> <span class='kw'>=</span> <span class='st'>"set"</span>, - <span class='no'>...</span> -) - -<span class='fu'>extend</span>( - <span class='no'>gr</span>, - <span class='kw'>start</span> <span class='kw'>=</span> -<span class='fl'>22</span>, - <span class='kw'>end</span> <span class='kw'>=</span> <span class='fl'>22</span>, - <span class='kw'>strandaware</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, - <span class='kw'>bsgenome</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, - <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>, - <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>, - <span class='kw'>linetype_var</span> <span class='kw'>=</span> <span class='st'>"set"</span>, - <span class='no'>...</span> -)</pre> - - <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> - <table class="ref-arguments"> - <colgroup><col class="name" /><col class="desc" /></colgroup> - <tr> - <th>gr</th> - <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> - </tr> - <tr> - <th>start</th> - <td><p>(pos or neg) number: relative start position (see details)</p></td> - </tr> - <tr> - <th>end</th> - <td><p>(pos or neg) number: relative end position (see details)</p></td> - </tr> - <tr> - <th>strandaware</th> - <td><p>TRUE (default) or FALSE: consider strand information?</p></td> - </tr> - <tr> - <th>bsgenome</th> - <td><p>NULL (default) or <code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code>. -Required to update gr$seq if present.</p></td> - </tr> - <tr> - <th>verbose</th> - <td><p>TRUE or FALSE (default)</p></td> - </tr> - <tr> - <th>plot</th> - <td><p>TRUE or FALSE (default)</p></td> - </tr> - <tr> - <th>linetype_var</th> - <td><p>string: gr var mapped to linetype</p></td> - </tr> - <tr> - <th>...</th> - <td><p>passed to <code><a href='plot_intervals.html'>plot_intervals</a></code></p></td> - </tr> - </table> - - <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - - <p>a <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> - <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2> - - <p><code>up_flank</code> returns upstream flanks, in relation to start(gr). -<code>down_flank</code> returns downstream flanks, in relation to end(gr). -<code>extend</code> returns extensions, in relation to start(gr) and end(gr)</p> - - <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> - <pre class="examples"><div class='input'><span class='co'># PE example</span> -<span class='co'>#-----------</span> -<span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) -<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> -<span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> - <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> - <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> - <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>),<span class='co'># ins</span> - <span class='kw'>bsgenome</span> <span class='kw'>=</span> <span class='no'>bsgenome</span>) -<span class='no'>gr</span> <span class='kw'>%>%</span> <span class='fu'>up_flank</span>( -<span class='fl'>22</span>, -<span class='fl'>1</span>, <span class='kw'>plot</span><span class='kw'>=</span><span class='fl'>TRUE</span>, <span class='kw'>facet_var</span><span class='kw'>=</span><span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='st'>'targetname'</span>, <span class='st'>'seqnames'</span>))</div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='img'><img src='up_flank-1.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 4 ranges and 3 metadata columns: -#> seqnames ranges strand | targetname targetstart targetend -#> <Rle> <IRanges> <Rle> | <character> <integer> <integer> -#> PRNP chr20 4699578-4699599 + | PRNP 4699600 4699600 -#> HBB chr11 5227003-5227024 - | HBB 5227002 5227002 -#> HEXA chr15 72346584-72346605 - | HEXA 72346580 72346583 -#> CFTR chr7 117559571-117559592 + | CFTR 117559593 117559595 -#> ------- -#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'><span class='no'>gr</span> <span class='kw'>%>%</span> <span class='fu'>up_flank</span>( -<span class='fl'>22</span>, -<span class='fl'>1</span>, <span class='kw'>plot</span><span class='kw'>=</span><span class='fl'>TRUE</span>, <span class='kw'>strandaware</span><span class='kw'>=</span><span class='fl'>FALSE</span>)</div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='img'><img src='up_flank-2.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 4 ranges and 3 metadata columns: -#> seqnames ranges strand | targetname targetstart targetend -#> <Rle> <IRanges> <Rle> | <character> <integer> <integer> -#> PRNP chr20 4699578-4699599 + | PRNP 4699600 4699600 -#> HBB chr11 5226980-5227001 - | HBB 5227002 5227002 -#> HEXA chr15 72346558-72346579 - | HEXA 72346580 72346583 -#> CFTR chr7 117559571-117559592 + | CFTR 117559593 117559595 -#> ------- -#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'><span class='no'>gr</span> <span class='kw'>%>%</span> <span class='fu'>down_flank</span>(+<span class='fl'>1</span>, +<span class='fl'>22</span>, <span class='kw'>plot</span><span class='kw'>=</span><span class='fl'>TRUE</span>)</div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='img'><img src='up_flank-3.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 4 ranges and 3 metadata columns: -#> seqnames ranges strand | targetname targetstart targetend -#> <Rle> <IRanges> <Rle> | <character> <integer> <integer> -#> PRNP chr20 4699601-4699622 + | PRNP 4699600 4699600 -#> HBB chr11 5226980-5227001 - | HBB 5227002 5227002 -#> HEXA chr15 72346558-72346579 - | HEXA 72346580 72346583 -#> CFTR chr7 117559596-117559617 + | CFTR 117559593 117559595 -#> ------- -#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'><span class='no'>gr</span> <span class='kw'>%>%</span> <span class='fu'>down_flank</span>(+<span class='fl'>1</span>, +<span class='fl'>22</span>, <span class='kw'>plot</span><span class='kw'>=</span><span class='fl'>TRUE</span>, <span class='kw'>strandaware</span><span class='kw'>=</span><span class='fl'>FALSE</span>)</div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='img'><img src='up_flank-4.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 4 ranges and 3 metadata columns: -#> seqnames ranges strand | targetname targetstart targetend -#> <Rle> <IRanges> <Rle> | <character> <integer> <integer> -#> PRNP chr20 4699601-4699622 + | PRNP 4699600 4699600 -#> HBB chr11 5227003-5227024 - | HBB 5227002 5227002 -#> HEXA chr15 72346584-72346605 - | HEXA 72346580 72346583 -#> CFTR chr7 117559596-117559617 + | CFTR 117559593 117559595 -#> ------- -#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'><span class='no'>gr</span> <span class='kw'>%>%</span> <span class='fu'>extend</span>( -<span class='fl'>10</span>, +<span class='fl'>20</span>, <span class='kw'>plot</span><span class='kw'>=</span><span class='fl'>TRUE</span>)</div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='img'><img src='up_flank-5.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 4 ranges and 3 metadata columns: -#> seqnames ranges strand | targetname targetstart targetend -#> <Rle> <IRanges> <Rle> | <character> <integer> <integer> -#> PRNP chr20 4699590-4699620 + | PRNP 4699600 4699600 -#> HBB chr11 5226982-5227012 - | HBB 5227002 5227002 -#> HEXA chr15 72346560-72346593 - | HEXA 72346580 72346583 -#> CFTR chr7 117559583-117559615 + | CFTR 117559593 117559595 -#> ------- -#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'><span class='no'>gr</span> <span class='kw'>%>%</span> <span class='fu'>extend</span>( -<span class='fl'>10</span>, +<span class='fl'>20</span>, <span class='kw'>plot</span><span class='kw'>=</span><span class='fl'>TRUE</span>, <span class='kw'>strandaware</span><span class='kw'>=</span><span class='fl'>FALSE</span>)</div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='img'><img src='up_flank-6.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 4 ranges and 3 metadata columns: -#> seqnames ranges strand | targetname targetstart targetend -#> <Rle> <IRanges> <Rle> | <character> <integer> <integer> -#> PRNP chr20 4699590-4699620 + | PRNP 4699600 4699600 -#> HBB chr11 5226992-5227022 - | HBB 5227002 5227002 -#> HEXA chr15 72346570-72346603 - | HEXA 72346580 72346583 -#> CFTR chr7 117559583-117559615 + | CFTR 117559593 117559595 -#> ------- -#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'> -<span class='co'># TFBS example</span> -<span class='co'>#-------------</span> - <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span><span class='kw'>=</span><span class='st'>'multicrispr'</span>) - <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='kw'>genome</span> <span class='kw'>=</span> <span class='st'>'mm10'</span>)</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='up_flank-7.png' alt='' width='700' height='433' /></div><div class='input'> <span class='no'>gr</span> <span class='kw'>%>%</span> <span class='fu'>extend</span>(<span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='img'><img src='up_flank-8.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 1974 ranges and 5 metadata columns: -#> seqnames ranges strand | name score targetname -#> <Rle> <IRanges> <Rle> | <character> <numeric> <character> -#> T0001 chr1 4712606-4712665 - | SRF_MA0083.3 10.49542 T0001 -#> T0002 chr1 5250190-5250249 - | SRF_MA0083.3 9.7378 T0002 -#> T0003 chr1 5250430-5250489 - | SRF_MA0083.3 5.92033 T0003 -#> T0004 chr1 5256171-5256230 - | SRF_MA0083.3 9.7378 T0004 -#> T0005 chr1 5985706-5985765 - | SRF_MA0083.3 9.44821 T0005 -#> ... ... ... ... . ... ... ... -#> T1970 chrY 6770290-6770349 + | SRF_MA0083.3 9.7378 T1970 -#> T1971 chrY 23130546-23130605 + | SRF_MA0083.3 9.7378 T1971 -#> T1972 chrY 42512378-42512437 - | SRF_MA0083.3 6.59053 T1972 -#> T1973 chrY 79048154-79048213 - | SRF_MA0083.3 9.7378 T1973 -#> T1974 chrY 89126472-89126531 - | SRF_MA0083.3 4.54393 T1974 -#> targetstart targetend -#> <integer> <integer> -#> T0001 4712628 4712643 -#> T0002 5250212 5250227 -#> T0003 5250452 5250467 -#> T0004 5256193 5256208 -#> T0005 5985728 5985743 -#> ... ... ... -#> T1970 6770312 6770327 -#> T1971 23130568 23130583 -#> T1972 42512400 42512415 -#> T1973 79048176 79048191 -#> T1974 89126494 89126509 -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div><div class='input'> <span class='no'>gr</span> <span class='kw'>%>%</span> <span class='fu'>up_flank</span>(<span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='img'><img src='up_flank-9.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 1974 ranges and 5 metadata columns: -#> seqnames ranges strand | name score targetname -#> <Rle> <IRanges> <Rle> | <character> <numeric> <character> -#> T0001 chr1 4712644-4712843 - | SRF_MA0083.3 10.49542 T0001 -#> T0002 chr1 5250228-5250427 - | SRF_MA0083.3 9.7378 T0002 -#> T0003 chr1 5250468-5250667 - | SRF_MA0083.3 5.92033 T0003 -#> T0004 chr1 5256209-5256408 - | SRF_MA0083.3 9.7378 T0004 -#> T0005 chr1 5985744-5985943 - | SRF_MA0083.3 9.44821 T0005 -#> ... ... ... ... . ... ... ... -#> T1970 chrY 6770112-6770311 + | SRF_MA0083.3 9.7378 T1970 -#> T1971 chrY 23130368-23130567 + | SRF_MA0083.3 9.7378 T1971 -#> T1972 chrY 42512416-42512615 - | SRF_MA0083.3 6.59053 T1972 -#> T1973 chrY 79048192-79048391 - | SRF_MA0083.3 9.7378 T1973 -#> T1974 chrY 89126510-89126709 - | SRF_MA0083.3 4.54393 T1974 -#> targetstart targetend -#> <integer> <integer> -#> T0001 4712628 4712643 -#> T0002 5250212 5250227 -#> T0003 5250452 5250467 -#> T0004 5256193 5256208 -#> T0005 5985728 5985743 -#> ... ... ... -#> T1970 6770312 6770327 -#> T1971 23130568 23130583 -#> T1972 42512400 42512415 -#> T1973 79048176 79048191 -#> T1974 89126494 89126509 -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div><div class='input'> <span class='no'>gr</span> <span class='kw'>%>%</span> <span class='fu'>down_flank</span>(<span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='img'><img src='up_flank-10.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 1974 ranges and 5 metadata columns: -#> seqnames ranges strand | name score targetname -#> <Rle> <IRanges> <Rle> | <character> <numeric> <character> -#> T0001 chr1 4712428-4712627 - | SRF_MA0083.3 10.49542 T0001 -#> T0002 chr1 5250012-5250211 - | SRF_MA0083.3 9.7378 T0002 -#> T0003 chr1 5250252-5250451 - | SRF_MA0083.3 5.92033 T0003 -#> T0004 chr1 5255993-5256192 - | SRF_MA0083.3 9.7378 T0004 -#> T0005 chr1 5985528-5985727 - | SRF_MA0083.3 9.44821 T0005 -#> ... ... ... ... . ... ... ... -#> T1970 chrY 6770328-6770527 + | SRF_MA0083.3 9.7378 T1970 -#> T1971 chrY 23130584-23130783 + | SRF_MA0083.3 9.7378 T1971 -#> T1972 chrY 42512200-42512399 - | SRF_MA0083.3 6.59053 T1972 -#> T1973 chrY 79047976-79048175 - | SRF_MA0083.3 9.7378 T1973 -#> T1974 chrY 89126294-89126493 - | SRF_MA0083.3 4.54393 T1974 -#> targetstart targetend -#> <integer> <integer> -#> T0001 4712628 4712643 -#> T0002 5250212 5250227 -#> T0003 5250452 5250467 -#> T0004 5256193 5256208 -#> T0005 5985728 5985743 -#> ... ... ... -#> T1970 6770312 6770327 -#> T1971 23130568 23130583 -#> T1972 42512400 42512415 -#> T1973 79048176 79048191 -#> T1974 89126494 89126509 -#> ------- -#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> - <h2>Contents</h2> - <ul class="nav nav-pills nav-stacked"> - <li><a href="#arguments">Arguments</a></li> - <li><a href="#value">Value</a></li> - <li><a href="#details">Details</a></li> - <li><a href="#examples">Examples</a></li> - </ul> - - </div> -</div> - - - <footer> - <div class="copyright"> - <p>Developed by Aditya Bhagwat.</p> -</div> - -<div class="pkgdown"> - <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> -</div> - - </footer> - </div> - - - - - </body> -</html> - - +<!-- Generated by pkgdown: do not edit by hand --> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>Extend or Flank GRanges — up_flank • multicrispr</title> + + +<!-- jquery --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> +<!-- Bootstrap --> + +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> + +<!-- Font Awesome icons --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" /> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" /> + +<!-- clipboard.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> + +<!-- headroom.js --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script> + +<!-- pkgdown --> +<link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script> + + + + +<meta property="og:title" content="Extend or Flank GRanges — up_flank" /> +<meta property="og:description" content="Returns extensions, upstream flanks, or downstream flanks" /> +<meta name="twitter:card" content="summary" /> + + + + +<!-- mathjax --> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> + +<!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> + + + + </head> + + <body> + <div class="container template-reference-topic"> + <header> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">multicrispr</a> + <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.1.0</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li> + <a href="../index.html"> + <span class="fas fa fas fa-home fa-lg"></span> + + </a> +</li> +<li> + <a href="../reference/index.html">Reference</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> + <li> + <a href="../articles/designing_grna_libraries.html">Using multicrispr for gRNA design</a> + </li> + </ul> +</li> + </ul> + <ul class="nav navbar-nav navbar-right"> + + </ul> + + </div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header> + +<div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Extend or Flank GRanges</h1> + + <div class="hidden name"><code>up_flank.Rd</code></div> + </div> + + <div class="ref-description"> + <p>Returns extensions, upstream flanks, or downstream flanks</p> + </div> + + <pre class="usage"><span class='fu'>up_flank</span>( + <span class='no'>gr</span>, + <span class='kw'>start</span> <span class='kw'>=</span> -<span class='fl'>200</span>, + <span class='kw'>end</span> <span class='kw'>=</span> -<span class='fl'>1</span>, + <span class='kw'>strandaware</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, + <span class='kw'>bsgenome</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, + <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>, + <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>, + <span class='kw'>linetype_var</span> <span class='kw'>=</span> <span class='st'>"set"</span>, + <span class='no'>...</span> +) + +<span class='fu'>down_flank</span>( + <span class='no'>gr</span>, + <span class='kw'>start</span> <span class='kw'>=</span> <span class='fl'>1</span>, + <span class='kw'>end</span> <span class='kw'>=</span> <span class='fl'>200</span>, + <span class='kw'>strandaware</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, + <span class='kw'>bsgenome</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, + <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>, + <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>, + <span class='kw'>linetype_var</span> <span class='kw'>=</span> <span class='st'>"set"</span>, + <span class='no'>...</span> +) + +<span class='fu'>extend</span>( + <span class='no'>gr</span>, + <span class='kw'>start</span> <span class='kw'>=</span> -<span class='fl'>22</span>, + <span class='kw'>end</span> <span class='kw'>=</span> <span class='fl'>22</span>, + <span class='kw'>strandaware</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>, + <span class='kw'>bsgenome</span> <span class='kw'>=</span> <span class='kw'>NULL</span>, + <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>, + <span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>, + <span class='kw'>linetype_var</span> <span class='kw'>=</span> <span class='st'>"set"</span>, + <span class='no'>...</span> +)</pre> + + <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> + <table class="ref-arguments"> + <colgroup><col class="name" /><col class="desc" /></colgroup> + <tr> + <th>gr</th> + <td><p><code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p></td> + </tr> + <tr> + <th>start</th> + <td><p>(pos or neg) number: relative start position (see details)</p></td> + </tr> + <tr> + <th>end</th> + <td><p>(pos or neg) number: relative end position (see details)</p></td> + </tr> + <tr> + <th>strandaware</th> + <td><p>TRUE (default) or FALSE: consider strand information?</p></td> + </tr> + <tr> + <th>bsgenome</th> + <td><p>NULL (default) or <code><a href='https://rdrr.io/pkg/BSgenome/man/BSgenome-class.html'>BSgenome-class</a></code>. +Required to update gr$seq if present.</p></td> + </tr> + <tr> + <th>verbose</th> + <td><p>TRUE or FALSE (default)</p></td> + </tr> + <tr> + <th>plot</th> + <td><p>TRUE or FALSE (default)</p></td> + </tr> + <tr> + <th>linetype_var</th> + <td><p>string: gr var mapped to linetype</p></td> + </tr> + <tr> + <th>...</th> + <td><p>passed to <code><a href='plot_intervals.html'>plot_intervals</a></code></p></td> + </tr> + </table> + + <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> + + <p>a <code><a href='https://rdrr.io/pkg/GenomicRanges/man/GRanges-class.html'>GRanges-class</a></code></p> + <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2> + + <p><code>up_flank</code> returns upstream flanks, in relation to start(gr). +<code>down_flank</code> returns downstream flanks, in relation to end(gr). +<code>extend</code> returns extensions, in relation to start(gr) and end(gr)</p> + + <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> + <pre class="examples"><div class='input'><span class='co'># PE example</span> +<span class='co'>#-----------</span> +<span class='fu'><a href='https://rdrr.io/r/base/library.html'>require</a></span>(<span class='no'>magrittr</span>) +<span class='no'>bsgenome</span> <span class='kw'><-</span> <span class='kw pkg'>BSgenome.Hsapiens.UCSC.hg38</span><span class='kw ns'>::</span><span class='no'><a href='https://rdrr.io/pkg/BSgenome.Hsapiens.UCSC.hg38/man/package.html'>BSgenome.Hsapiens.UCSC.hg38</a></span> +<span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='char_to_granges.html'>char_to_granges</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='kw'>PRNP</span> <span class='kw'>=</span> <span class='st'>'chr20:4699600:+'</span>, <span class='co'># snp</span> + <span class='kw'>HBB</span> <span class='kw'>=</span> <span class='st'>'chr11:5227002:-'</span>, <span class='co'># snp</span> + <span class='kw'>HEXA</span> <span class='kw'>=</span> <span class='st'>'chr15:72346580-72346583:-'</span>, <span class='co'># del</span> + <span class='kw'>CFTR</span> <span class='kw'>=</span> <span class='st'>'chr7:117559593-117559595:+'</span>),<span class='co'># ins</span> + <span class='kw'>bsgenome</span> <span class='kw'>=</span> <span class='no'>bsgenome</span>) +<span class='no'>gr</span> <span class='kw'>%>%</span> <span class='fu'>up_flank</span>( -<span class='fl'>22</span>, -<span class='fl'>1</span>, <span class='kw'>plot</span><span class='kw'>=</span><span class='fl'>TRUE</span>, <span class='kw'>facet_var</span><span class='kw'>=</span><span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='st'>'targetname'</span>, <span class='st'>'seqnames'</span>))</div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='img'><img src='up_flank-1.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 4 ranges and 3 metadata columns: +#> seqnames ranges strand | targetname targetstart targetend +#> <Rle> <IRanges> <Rle> | <character> <integer> <integer> +#> PRNP chr20 4699578-4699599 + | PRNP 4699600 4699600 +#> HBB chr11 5227003-5227024 - | HBB 5227002 5227002 +#> HEXA chr15 72346584-72346605 - | HEXA 72346580 72346583 +#> CFTR chr7 117559571-117559592 + | CFTR 117559593 117559595 +#> ------- +#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'><span class='no'>gr</span> <span class='kw'>%>%</span> <span class='fu'>up_flank</span>( -<span class='fl'>22</span>, -<span class='fl'>1</span>, <span class='kw'>plot</span><span class='kw'>=</span><span class='fl'>TRUE</span>, <span class='kw'>strandaware</span><span class='kw'>=</span><span class='fl'>FALSE</span>)</div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='img'><img src='up_flank-2.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 4 ranges and 3 metadata columns: +#> seqnames ranges strand | targetname targetstart targetend +#> <Rle> <IRanges> <Rle> | <character> <integer> <integer> +#> PRNP chr20 4699578-4699599 + | PRNP 4699600 4699600 +#> HBB chr11 5226980-5227001 - | HBB 5227002 5227002 +#> HEXA chr15 72346558-72346579 - | HEXA 72346580 72346583 +#> CFTR chr7 117559571-117559592 + | CFTR 117559593 117559595 +#> ------- +#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'><span class='no'>gr</span> <span class='kw'>%>%</span> <span class='fu'>down_flank</span>(+<span class='fl'>1</span>, +<span class='fl'>22</span>, <span class='kw'>plot</span><span class='kw'>=</span><span class='fl'>TRUE</span>)</div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='img'><img src='up_flank-3.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 4 ranges and 3 metadata columns: +#> seqnames ranges strand | targetname targetstart targetend +#> <Rle> <IRanges> <Rle> | <character> <integer> <integer> +#> PRNP chr20 4699601-4699622 + | PRNP 4699600 4699600 +#> HBB chr11 5226980-5227001 - | HBB 5227002 5227002 +#> HEXA chr15 72346558-72346579 - | HEXA 72346580 72346583 +#> CFTR chr7 117559596-117559617 + | CFTR 117559593 117559595 +#> ------- +#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'><span class='no'>gr</span> <span class='kw'>%>%</span> <span class='fu'>down_flank</span>(+<span class='fl'>1</span>, +<span class='fl'>22</span>, <span class='kw'>plot</span><span class='kw'>=</span><span class='fl'>TRUE</span>, <span class='kw'>strandaware</span><span class='kw'>=</span><span class='fl'>FALSE</span>)</div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='img'><img src='up_flank-4.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 4 ranges and 3 metadata columns: +#> seqnames ranges strand | targetname targetstart targetend +#> <Rle> <IRanges> <Rle> | <character> <integer> <integer> +#> PRNP chr20 4699601-4699622 + | PRNP 4699600 4699600 +#> HBB chr11 5227003-5227024 - | HBB 5227002 5227002 +#> HEXA chr15 72346584-72346605 - | HEXA 72346580 72346583 +#> CFTR chr7 117559596-117559617 + | CFTR 117559593 117559595 +#> ------- +#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'><span class='no'>gr</span> <span class='kw'>%>%</span> <span class='fu'>extend</span>( -<span class='fl'>10</span>, +<span class='fl'>20</span>, <span class='kw'>plot</span><span class='kw'>=</span><span class='fl'>TRUE</span>)</div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='img'><img src='up_flank-5.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 4 ranges and 3 metadata columns: +#> seqnames ranges strand | targetname targetstart targetend +#> <Rle> <IRanges> <Rle> | <character> <integer> <integer> +#> PRNP chr20 4699590-4699620 + | PRNP 4699600 4699600 +#> HBB chr11 5226982-5227012 - | HBB 5227002 5227002 +#> HEXA chr15 72346560-72346593 - | HEXA 72346580 72346583 +#> CFTR chr7 117559583-117559615 + | CFTR 117559593 117559595 +#> ------- +#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'><span class='no'>gr</span> <span class='kw'>%>%</span> <span class='fu'>extend</span>( -<span class='fl'>10</span>, +<span class='fl'>20</span>, <span class='kw'>plot</span><span class='kw'>=</span><span class='fl'>TRUE</span>, <span class='kw'>strandaware</span><span class='kw'>=</span><span class='fl'>FALSE</span>)</div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='img'><img src='up_flank-6.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 4 ranges and 3 metadata columns: +#> seqnames ranges strand | targetname targetstart targetend +#> <Rle> <IRanges> <Rle> | <character> <integer> <integer> +#> PRNP chr20 4699590-4699620 + | PRNP 4699600 4699600 +#> HBB chr11 5226992-5227022 - | HBB 5227002 5227002 +#> HEXA chr15 72346570-72346603 - | HEXA 72346580 72346583 +#> CFTR chr7 117559583-117559615 + | CFTR 117559593 117559595 +#> ------- +#> seqinfo: 455 sequences (1 circular) from hg38 genome</div><div class='input'> +<span class='co'># TFBS example</span> +<span class='co'>#-------------</span> + <span class='no'>bedfile</span> <span class='kw'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/system.file.html'>system.file</a></span>(<span class='st'>'extdata/SRF.bed'</span>, <span class='kw'>package</span><span class='kw'>=</span><span class='st'>'multicrispr'</span>) + <span class='no'>gr</span> <span class='kw'><-</span> <span class='fu'><a href='bed_to_granges.html'>bed_to_granges</a></span>(<span class='no'>bedfile</span>, <span class='kw'>genome</span> <span class='kw'>=</span> <span class='st'>'mm10'</span>)</div><div class='output co'>#> <span class='message'> Read SRF.bed into GRanges</span></div><div class='output co'>#> <span class='message'> 1974 ranges on 21 chromosomes</span></div><div class='img'><img src='up_flank-7.png' alt='' width='700' height='433' /></div><div class='input'> <span class='no'>gr</span> <span class='kw'>%>%</span> <span class='fu'>extend</span>(<span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='img'><img src='up_flank-8.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 1974 ranges and 5 metadata columns: +#> seqnames ranges strand | name score targetname +#> <Rle> <IRanges> <Rle> | <character> <numeric> <character> +#> T0001 chr1 4712606-4712665 - | SRF_MA0083.3 10.49542 T0001 +#> T0002 chr1 5250190-5250249 - | SRF_MA0083.3 9.7378 T0002 +#> T0003 chr1 5250430-5250489 - | SRF_MA0083.3 5.92033 T0003 +#> T0004 chr1 5256171-5256230 - | SRF_MA0083.3 9.7378 T0004 +#> T0005 chr1 5985706-5985765 - | SRF_MA0083.3 9.44821 T0005 +#> ... ... ... ... . ... ... ... +#> T1970 chrY 6770290-6770349 + | SRF_MA0083.3 9.7378 T1970 +#> T1971 chrY 23130546-23130605 + | SRF_MA0083.3 9.7378 T1971 +#> T1972 chrY 42512378-42512437 - | SRF_MA0083.3 6.59053 T1972 +#> T1973 chrY 79048154-79048213 - | SRF_MA0083.3 9.7378 T1973 +#> T1974 chrY 89126472-89126531 - | SRF_MA0083.3 4.54393 T1974 +#> targetstart targetend +#> <integer> <integer> +#> T0001 4712628 4712643 +#> T0002 5250212 5250227 +#> T0003 5250452 5250467 +#> T0004 5256193 5256208 +#> T0005 5985728 5985743 +#> ... ... ... +#> T1970 6770312 6770327 +#> T1971 23130568 23130583 +#> T1972 42512400 42512415 +#> T1973 79048176 79048191 +#> T1974 89126494 89126509 +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div><div class='input'> <span class='no'>gr</span> <span class='kw'>%>%</span> <span class='fu'>up_flank</span>(<span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='img'><img src='up_flank-9.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 1974 ranges and 5 metadata columns: +#> seqnames ranges strand | name score targetname +#> <Rle> <IRanges> <Rle> | <character> <numeric> <character> +#> T0001 chr1 4712644-4712843 - | SRF_MA0083.3 10.49542 T0001 +#> T0002 chr1 5250228-5250427 - | SRF_MA0083.3 9.7378 T0002 +#> T0003 chr1 5250468-5250667 - | SRF_MA0083.3 5.92033 T0003 +#> T0004 chr1 5256209-5256408 - | SRF_MA0083.3 9.7378 T0004 +#> T0005 chr1 5985744-5985943 - | SRF_MA0083.3 9.44821 T0005 +#> ... ... ... ... . ... ... ... +#> T1970 chrY 6770112-6770311 + | SRF_MA0083.3 9.7378 T1970 +#> T1971 chrY 23130368-23130567 + | SRF_MA0083.3 9.7378 T1971 +#> T1972 chrY 42512416-42512615 - | SRF_MA0083.3 6.59053 T1972 +#> T1973 chrY 79048192-79048391 - | SRF_MA0083.3 9.7378 T1973 +#> T1974 chrY 89126510-89126709 - | SRF_MA0083.3 4.54393 T1974 +#> targetstart targetend +#> <integer> <integer> +#> T0001 4712628 4712643 +#> T0002 5250212 5250227 +#> T0003 5250452 5250467 +#> T0004 5256193 5256208 +#> T0005 5985728 5985743 +#> ... ... ... +#> T1970 6770312 6770327 +#> T1971 23130568 23130583 +#> T1972 42512400 42512415 +#> T1973 79048176 79048191 +#> T1974 89126494 89126509 +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div><div class='input'> <span class='no'>gr</span> <span class='kw'>%>%</span> <span class='fu'>down_flank</span>(<span class='kw'>plot</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='output co'>#> <span class='warning'>Warning: Zeichenbreite unbekannt für das Zeichen 0x9</span></div><div class='img'><img src='up_flank-10.png' alt='' width='700' height='433' /></div><div class='output co'>#> GRanges object with 1974 ranges and 5 metadata columns: +#> seqnames ranges strand | name score targetname +#> <Rle> <IRanges> <Rle> | <character> <numeric> <character> +#> T0001 chr1 4712428-4712627 - | SRF_MA0083.3 10.49542 T0001 +#> T0002 chr1 5250012-5250211 - | SRF_MA0083.3 9.7378 T0002 +#> T0003 chr1 5250252-5250451 - | SRF_MA0083.3 5.92033 T0003 +#> T0004 chr1 5255993-5256192 - | SRF_MA0083.3 9.7378 T0004 +#> T0005 chr1 5985528-5985727 - | SRF_MA0083.3 9.44821 T0005 +#> ... ... ... ... . ... ... ... +#> T1970 chrY 6770328-6770527 + | SRF_MA0083.3 9.7378 T1970 +#> T1971 chrY 23130584-23130783 + | SRF_MA0083.3 9.7378 T1971 +#> T1972 chrY 42512200-42512399 - | SRF_MA0083.3 6.59053 T1972 +#> T1973 chrY 79047976-79048175 - | SRF_MA0083.3 9.7378 T1973 +#> T1974 chrY 89126294-89126493 - | SRF_MA0083.3 4.54393 T1974 +#> targetstart targetend +#> <integer> <integer> +#> T0001 4712628 4712643 +#> T0002 5250212 5250227 +#> T0003 5250452 5250467 +#> T0004 5256193 5256208 +#> T0005 5985728 5985743 +#> ... ... ... +#> T1970 6770312 6770327 +#> T1971 23130568 23130583 +#> T1972 42512400 42512415 +#> T1973 79048176 79048191 +#> T1974 89126494 89126509 +#> ------- +#> seqinfo: 66 sequences (1 circular) from mm10 genome</div></pre> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> + <h2>Contents</h2> + <ul class="nav nav-pills nav-stacked"> + <li><a href="#arguments">Arguments</a></li> + <li><a href="#value">Value</a></li> + <li><a href="#details">Details</a></li> + <li><a href="#examples">Examples</a></li> + </ul> + + </div> +</div> + + + <footer> + <div class="copyright"> + <p>Developed by Aditya Bhagwat.</p> +</div> + +<div class="pkgdown"> + <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p> +</div> + + </footer> + </div> + + + + + </body> +</html> + + diff --git a/tests/testthat.R b/tests/testthat.R index f9f8d8980c49ffb69b0792a09023ea65f0994ef1..c367e48cf756162c0ee5fdc4b126b75b72660fed 100644 --- a/tests/testthat.R +++ b/tests/testthat.R @@ -1,4 +1,4 @@ -library(testthat) -library(multicrispr) - -test_check("multicrispr") +library(testthat) +library(multicrispr) + +test_check("multicrispr") diff --git a/tests/testthat/test_extend.R b/tests/testthat/test_extend.R index 022bf147ac32a2bcc637335f6042bca84c1c0d5e..4de6613411dc27b9d6a5614cbaed4bf0b4942539 100644 --- a/tests/testthat/test_extend.R +++ b/tests/testthat/test_extend.R @@ -1,27 +1,27 @@ -# Create example granges -bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 -granges <- GenomicRanges::GRanges('chr1', - '100-200', - strand = '-', - seqinfo = seqinfo(bsgenome)) -chrlength <- GenomeInfoDb::seqlengths(bsgenome)[['chr1']] - -# Test -context('extend') - -test_that('extend works', { - expect_equal( - start(extend(granges, -5, 5)), - start(granges) - 5) - expect_equal( - end(extend(granges, -5, 5)), - end(granges) + 5) -}) - -test_that('extend warns for coordinates < 1', { - expect_warning(extend(granges, -500)) -}) - -test_that('extend warns for coordinates > chrlength', { - expect_warning(extend(granges, 1, 1 + chrlength, plot = FALSE)) -}) +# Create example granges +bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 +granges <- GenomicRanges::GRanges('chr1', + '100-200', + strand = '-', + seqinfo = seqinfo(bsgenome)) +chrlength <- GenomeInfoDb::seqlengths(bsgenome)[['chr1']] + +# Test +context('extend') + +test_that('extend works', { + expect_equal( + start(extend(granges, -5, 5)), + start(granges) - 5) + expect_equal( + end(extend(granges, -5, 5)), + end(granges) + 5) +}) + +test_that('extend warns for coordinates < 1', { + expect_warning(extend(granges, -500)) +}) + +test_that('extend warns for coordinates > chrlength', { + expect_warning(extend(granges, 1, 1 + chrlength, plot = FALSE)) +}) diff --git a/tests/testthat/test_flank.R b/tests/testthat/test_flank.R index a318ea2e052b30bc88a761766017466f6cb9c7f3..46ef2fdbf798219bb1b91dd0bb1ded3c08583540 100644 --- a/tests/testthat/test_flank.R +++ b/tests/testthat/test_flank.R @@ -1,51 +1,51 @@ - -# Create example granges -bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 -granges <- GenomicRanges::GRanges( - 'chr1', '100-200', strand = '-', targetname = 'T01', - seqinfo = seqinfo(bsgenome)) -chrlength <- GenomeInfoDb::seqlengths(bsgenome)[['chr1']] - -# Test -context('up_flank and down_flank') - -test_that('up_flank works', { - expect_equal( - start( up_flank(granges, -10, -1)), - end(granges) + 1 ) - - expect_equal( - end( up_flank(granges, -10, -1)), - end(granges) + 10 ) -}) - -test_that('down_flank works', { - expect_equal( - start( down_flank(granges, 1, 10)), - start(granges) - 10) - - expect_equal( - end( down_flank(granges, 1, 10)), - start(granges) - 1) -}) - -test_that('up_flank throws error for coordinates < 1', { - expect_error( - up_flank(granges, +500)) -}) - -test_that('down_flank warns error for coordinates < 1', { - expect_warning( - down_flank(granges, -500)) -}) - -test_that('up_flank warns for coordinates > chrlength', { - expect_warning( - up_flank( granges, 1, 1 + chrlength)) -}) - -test_that('down_flank warns for coordinates > chrlength', { - expect_warning( - down_flank(granges, 1, 1 + chrlength)) -}) - + +# Create example granges +bsgenome <- BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10 +granges <- GenomicRanges::GRanges( + 'chr1', '100-200', strand = '-', targetname = 'T01', + seqinfo = seqinfo(bsgenome)) +chrlength <- GenomeInfoDb::seqlengths(bsgenome)[['chr1']] + +# Test +context('up_flank and down_flank') + +test_that('up_flank works', { + expect_equal( + start( up_flank(granges, -10, -1)), + end(granges) + 1 ) + + expect_equal( + end( up_flank(granges, -10, -1)), + end(granges) + 10 ) +}) + +test_that('down_flank works', { + expect_equal( + start( down_flank(granges, 1, 10)), + start(granges) - 10) + + expect_equal( + end( down_flank(granges, 1, 10)), + start(granges) - 1) +}) + +test_that('up_flank throws error for coordinates < 1', { + expect_error( + up_flank(granges, +500)) +}) + +test_that('down_flank warns error for coordinates < 1', { + expect_warning( + down_flank(granges, -500)) +}) + +test_that('up_flank warns for coordinates > chrlength', { + expect_warning( + up_flank( granges, 1, 1 + chrlength)) +}) + +test_that('down_flank warns for coordinates > chrlength', { + expect_warning( + down_flank(granges, 1, 1 + chrlength)) +}) + diff --git a/tests/testthat/test_read.R b/tests/testthat/test_read.R index 7f7cea287fd9b482f1c11b5dcf38b0fd20e86a95..daff9ede3690d76adc6a32895bad686ec455c611 100644 --- a/tests/testthat/test_read.R +++ b/tests/testthat/test_read.R @@ -1,7 +1,7 @@ - - -context('bed_to_granges') -test_that('bed_to_granges returns a GRanges', { - bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') - expect_s4_class(bed_to_granges(bedfile, 'mm10', plot = FALSE), 'GRanges') -}) + + +context('bed_to_granges') +test_that('bed_to_granges returns a GRanges', { + bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') + expect_s4_class(bed_to_granges(bedfile, 'mm10', plot = FALSE), 'GRanges') +}) diff --git a/vignettes/designing_grna_libraries.Rmd b/vignettes/designing_grna_libraries.Rmd index 476ad64ec878efed6609783a9aca73542cd3906d..f9556d78349b01920eb266f1dcc67e4f808ae4de 100644 --- a/vignettes/designing_grna_libraries.Rmd +++ b/vignettes/designing_grna_libraries.Rmd @@ -1,231 +1,231 @@ ---- -title: "Using multicrispr for gRNA design" -author: "Aditya M Bhagwat" -date: "`r Sys.Date()`" -output: BiocStyle::html_document -vignette: > - %\VignetteIndexEntry{designing_grna_libraries} - %\VignetteEngine{knitr::rmarkdown} - %\VignetteEncoding{UTF-8} ---- - -```{r, include=TRUE, echo=FALSE, message=FALSE} -knitr::opts_chunk$set(echo = TRUE, collapse = TRUE, cache = FALSE) -#str(knitr::opts_chunk$get()) -``` - -<!--  --> - -# Background - -## Crispr/Cas9 and Prime Editing - -**Crispr/Cas9** is a prokaryotic immune system turned into a genome engineering tool, with a Cas9/gRNA complex at the heart of its functioning. The **gRNA** (guide RNA) contains a 20 nucleotide (proto)**spacer** which guides the complex to a genomic locus with identical sequence, but only when followed by an *NGG* **PAM** (protospacer adjacent motif (see Figure 1A). The **Cas9** enzyme performs some effector action at that locus: *wildtype Cas9* cuts both strands after spacer nucleotide 17, *Cas9Nickase* cuts only a single strand (two variants exist, cutting respectively each of the strands), while catalytically dead *dCas9*, fused to some effector domain (KRAB, VPR, APEX) performs some alternative action (e.g. KRAB represses, VPR activates, APEX biotinylates). - -**Prime Editing** (Anzalone et al., 2019) extends this further, by coupling Cas9 to a Reverse Transcriptase (RT). As shown in Figure 1, the guide RNA is extended with a 3' extension that contains primer binding site (binding a complementary DNA region that acts as a primer for reverse transcription) and reverse transcription template (the template used for reverse transcription). The spacer still acts as targeting agent, guiding the Cas9/RT complex to targeted genomic locus. - - -```{r, fig.small = TRUE, echo = FALSE, fig.cap = 'gRNAs for Crispr/Cas9 (A) and Prime Editing'} -knitr::include_graphics("../inst/extdata/pe.png") -``` - - -## Guide RNA design - -**Guide RNA design** involves finding good guide RNAs to hit the targets of interest. Plasmids with guide RNA scaffolds, ready for cloning desired spacers into, can be readily ordered from AddGene. The actual task, therefore, boils down to finding good spacers for the targets of interest. For prime editing, it additionally involves finding appropriate primer binding site and reverse transcription template to edit the target site of interest. - -A **good spacer** needs to fulfill two requirements. - -1. **Minimal off-target** (mis)matches, so that only intended targets are hit. - - - Crispr gRNAs can hit exact (with identical and alternate NGG pam), as well as (up-to 2) mismatch offtargets. - - Prime Editing is much more specific, hitting only exact offtargets. - -2. **Maximal on-target** efficiency. Over the years, several sequence-to-efficiency prediction models have been developed, of which the Doench 2016 score has currently become the community standard. The score is not perfect, and examples can be found where the prediction and the actual outcome differ. Yet, to-date it is the best heuristic to predict on-target efficiency, worth making use of. - - -# Multicrispr - -Multicrispr was developed to make guide RNA design easier. As shown below, it contains functions to **define** and **transform** targets, **find spacers**, compute/add **offtarget counts** and **efficiency scores** (Doench 2016), and finally return all of this as a **GRanges** object. - -```{r overview, fig.wide = TRUE, out.width = "80%", echo = FALSE } -knitr::include_graphics("../inst/extdata/readme_portrait.png") -``` - -## Install - - -Installing **multicrispr** is simple: - -```{r, eval = FALSE} -url <- 'https://gitlab.gwdg.de/loosolab/software/multicrispr.git' -remotes::install_git(url, repos = BiocManager::repositories()) -``` - -Doench et al. (2016) 's python package **azimuth** for on-target efficiency prediction using their method can be easily installed and activated using reticulate: - -```{r, eval = FALSE} -# Install once - # reticulate::conda_create('azienv', 'python=2.7') - # reticulate::conda_install('azienv', 'azimuth', pip = TRUE) - # reticulate::conda_install('azienv', 'scikit-learn==0.17.1', pip = TRUE) -# Then activate - reticulate::use_condaenv('azienv') -``` - -Bowtie-indexed genomes for quick offtarget analysis can be installed using `index_genome`. For the two genomes used in the examples, mm10 and hg38, the functions downloads pre-build indexes from our data server, allowing a quick exploration (set `download=FALSE` to build index anew): - -```{r, eval = FALSE} -index_genome(BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10) -index_genome(BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 ) -``` - -<!-- 1. Install conda for python 2.7 --> -<!-- 2. Create a new conda environment: `conda create --name azimuthenv python=2.7` --> -<!-- 3. Activate conda environment: `conda activate azimuthenv` --> -<!-- 4. Install module azimuth: `pip install azimuth` --> -<!-- 5. Install scikit-learn: `pip install scikit-learn==0.17.1` --> - - -```{r, echo = FALSE, results = FALSE, message=FALSE} - # Not required - # Done to load dependencies silently - keeping focus - #require(GenomicRanges) - #require(Biostrings) - #require(dplyr) - #require(dbplyr) - #require(htmltools) - #require(htmlwidgets) -``` - -## Define targets - -```{r, fig.small = TRUE, out.width = "70%", echo = FALSE } -knitr::include_graphics("../inst/extdata/01_define_targets.png") -``` - -`bed_to_granges` converts a (0-based) BED coordinate file into a (1-based) GRanges. -An example is loading the 1974 binding sites of the transcription factor SRF: - -```{r} -require(magrittr) -require(multicrispr) -bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') -tfbs0 <- bed_to_granges(bedfile, genome = 'mm10') -``` - - -`genes_to_granges` and `genefile_to_granges` convert entrez/ensembl gene identifiers into GRanges using `txdb` gene models. -An example that loads of a small subset of the 1974 SRF binding sites: - -```{r} -require(multicrispr) -entrezfile <- system.file('extdata/SRF.entrez', package = 'multicrispr') -txdb <- TxDb.Mmusculus.UCSC.mm10.knownGene::TxDb.Mmusculus.UCSC.mm10.knownGene -sometfbs0 <- genefile_to_granges(entrezfile, txdb, complement = TRUE) -``` - - -`char_to_granges` uses a 1-based coordinate vector to specify the GRanges. -It can be used to define four prime editing sites mentioned by Anzalone et al. (2019): - -```{r, fig.width=3.5, fig.height=1.5} -# char_to_granges: Anzalone et al. (2019) prime editing targets -bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -pe0 <- char_to_granges(c(HBB = 'chr11:5227002:-'), bsgenome) -plot_intervals(pe0) -``` - -## Transform targets - -```{r, fig.small = TRUE, out.width = "70%", echo = FALSE } -knitr::include_graphics("../inst/extdata/02_transform.png") -``` - -As a second step, the original targets may require transformation. The functions `extend`, `up_flank` (upstream flanks), `down_flank` (downstream flanks), and `double_flank` (double flanks) can be used to update the target ranges as required. - -```{r, fig.width=4, fig.height=2, out.width="65%"} -# Extend -targets <- pe0 -invisible(extend(targets, -22, 22, plot = TRUE)) -# Up flank -invisible(up_flank( targets, -200, -1, plot = TRUE)) -# Down flank -invisible(down_flank( targets, 1, 200, plot = TRUE)) -# Double flank -invisible(double_flank(targets, -200, -1, +1, +200, plot = TRUE)) -``` - - -## Find spacers - -```{r, fig.small = TRUE, out.width = "70%", echo = FALSE } -knitr::include_graphics("../inst/extdata/03_find.png") -``` - -The next step is to find N20 spacers followed by NGG pam sites. -This can be done with `find_spacers`, after extending target range(s) to prime editing neighbourhood(s): - -```{r, fig.width=3, fig.height=1.5} -bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 -neighbourhood <- extend_for_pe(targets, bsgenome) -spacers <- find_spacers(neighbourhood, bsgenome, complement = FALSE) -``` - -For prime editing, however, it is better to use `find_pe_spacers`, which performs target to neighbourhood extension implicitly, and also adds 3' extension (Fig 1) to returned spacer GRanges. - -```{r, fig.width=3.3, fig.height=1.7} -spacers <- find_pe_spacers(targets, bsgenome=bsgenome) -``` - -This finds prime editing sites that follow Anzalone et al. (2019)'s recommended default settings: a 13-nucleotide primer and a 16-nucleotide reverse transcription template. These settings can be easily altered (e.g. Anzalone et al. report success with reverse transcription templates of up to 48 nucleotides) by: - -```{r, fig.width=3.6, fig.height=2.1} -spacers <- find_pe_spacers(targets, bsgenome=bsgenome, nrt = 48) -``` - - -## Add offtargets - -```{r, fig.small = TRUE, out.width = "70%", echo = FALSE } -knitr::include_graphics("../inst/extdata/04_offtargets.png") -``` - -```{r, fig.width=3.6, fig.height=2.1} -if (has_been_indexed(bsgenome)){ - spacers %<>% add_offtargets(bsgenome, mismatch = 0, plot = TRUE) -} -``` - -## Add efficiency - -```{r, fig.small = TRUE, out.width = "70%", echo = FALSE } -knitr::include_graphics("../inst/extdata/05_efficiency.png") -``` - -Not all N~20~NGG gRNA sequences target equally well (even when matching sequence perfectly). For each position in the 23-bp gRNA sequence, the nucleotide present in current, previous and next position has an effect on targeting efficiency. The current community standard for on-target efficiency prediction is that of Doench et al. (2016), which can be computed and added with `add_efficiency`: - -```{r, fig.width=3.6, fig.height=2.1} -if (reticulate::py_module_available('azimuth')){ - spacers %<>% add_efficiency(bsgenome, 'Doench2016') -} -``` - -## Return spacer GRanges - -```{r} - spacers -``` - -# References {-} - -Anzalone, A.V., Randolph, P.B., Davis, J.R. et al. Search-and-replace genome editing without double-strand breaks or donor DNA. Nature 576, 149–157 (2019). https://doi.org/10.1038/s41586-019-1711-4 - -Doench et al. (2016). Optimized sgRNA design to maximize activity and minimize off-target effects of CRISPR-Cas9. Nature Biotechnology, 34(7), doi:10.1038/nbt.3437 - - - - - - - +--- +title: "Using multicrispr for gRNA design" +author: "Aditya M Bhagwat" +date: "`r Sys.Date()`" +output: BiocStyle::html_document +vignette: > + %\VignetteIndexEntry{designing_grna_libraries} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r, include=TRUE, echo=FALSE, message=FALSE} +knitr::opts_chunk$set(echo = TRUE, collapse = TRUE, cache = FALSE) +#str(knitr::opts_chunk$get()) +``` + +<!--  --> + +# Background + +## Crispr/Cas9 and Prime Editing + +**Crispr/Cas9** is a prokaryotic immune system turned into a genome engineering tool, with a Cas9/gRNA complex at the heart of its functioning. The **gRNA** (guide RNA) contains a 20 nucleotide (proto)**spacer** which guides the complex to a genomic locus with identical sequence, but only when followed by an *NGG* **PAM** (protospacer adjacent motif (see Figure 1A). The **Cas9** enzyme performs some effector action at that locus: *wildtype Cas9* cuts both strands after spacer nucleotide 17, *Cas9Nickase* cuts only a single strand (two variants exist, cutting respectively each of the strands), while catalytically dead *dCas9*, fused to some effector domain (KRAB, VPR, APEX) performs some alternative action (e.g. KRAB represses, VPR activates, APEX biotinylates). + +**Prime Editing** (Anzalone et al., 2019) extends this further, by coupling Cas9 to a Reverse Transcriptase (RT). As shown in Figure 1, the guide RNA is extended with a 3' extension that contains primer binding site (binding a complementary DNA region that acts as a primer for reverse transcription) and reverse transcription template (the template used for reverse transcription). The spacer still acts as targeting agent, guiding the Cas9/RT complex to targeted genomic locus. + + +```{r, fig.small = TRUE, echo = FALSE, fig.cap = 'gRNAs for Crispr/Cas9 (A) and Prime Editing'} +knitr::include_graphics("../inst/extdata/pe.png") +``` + + +## Guide RNA design + +**Guide RNA design** involves finding good guide RNAs to hit the targets of interest. Plasmids with guide RNA scaffolds, ready for cloning desired spacers into, can be readily ordered from AddGene. The actual task, therefore, boils down to finding good spacers for the targets of interest. For prime editing, it additionally involves finding appropriate primer binding site and reverse transcription template to edit the target site of interest. + +A **good spacer** needs to fulfill two requirements. + +1. **Minimal off-target** (mis)matches, so that only intended targets are hit. + + - Crispr gRNAs can hit exact (with identical and alternate NGG pam), as well as (up-to 2) mismatch offtargets. + - Prime Editing is much more specific, hitting only exact offtargets. + +2. **Maximal on-target** efficiency. Over the years, several sequence-to-efficiency prediction models have been developed, of which the Doench 2016 score has currently become the community standard. The score is not perfect, and examples can be found where the prediction and the actual outcome differ. Yet, to-date it is the best heuristic to predict on-target efficiency, worth making use of. + + +# Multicrispr + +Multicrispr was developed to make guide RNA design easier. As shown below, it contains functions to **define** and **transform** targets, **find spacers**, compute/add **offtarget counts** and **efficiency scores** (Doench 2016), and finally return all of this as a **GRanges** object. + +```{r overview, fig.wide = TRUE, out.width = "80%", echo = FALSE } +knitr::include_graphics("../inst/extdata/readme_portrait.png") +``` + +## Install + + +Installing **multicrispr** is simple: + +```{r, eval = FALSE} +url <- 'https://gitlab.gwdg.de/loosolab/software/multicrispr.git' +remotes::install_git(url, repos = BiocManager::repositories()) +``` + +Doench et al. (2016) 's python package **azimuth** for on-target efficiency prediction using their method can be easily installed and activated using reticulate: + +```{r, eval = FALSE} +# Install once + # reticulate::conda_create('azienv', 'python=2.7') + # reticulate::conda_install('azienv', 'azimuth', pip = TRUE) + # reticulate::conda_install('azienv', 'scikit-learn==0.17.1', pip = TRUE) +# Then activate + reticulate::use_condaenv('azienv') +``` + +Bowtie-indexed genomes for quick offtarget analysis can be installed using `index_genome`. For the two genomes used in the examples, mm10 and hg38, the functions downloads pre-build indexes from our data server, allowing a quick exploration (set `download=FALSE` to build index anew): + +```{r, eval = FALSE} +index_genome(BSgenome.Mmusculus.UCSC.mm10::BSgenome.Mmusculus.UCSC.mm10) +index_genome(BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 ) +``` + +<!-- 1. Install conda for python 2.7 --> +<!-- 2. Create a new conda environment: `conda create --name azimuthenv python=2.7` --> +<!-- 3. Activate conda environment: `conda activate azimuthenv` --> +<!-- 4. Install module azimuth: `pip install azimuth` --> +<!-- 5. Install scikit-learn: `pip install scikit-learn==0.17.1` --> + + +```{r, echo = FALSE, results = FALSE, message=FALSE} + # Not required + # Done to load dependencies silently - keeping focus + #require(GenomicRanges) + #require(Biostrings) + #require(dplyr) + #require(dbplyr) + #require(htmltools) + #require(htmlwidgets) +``` + +## Define targets + +```{r, fig.small = TRUE, out.width = "70%", echo = FALSE } +knitr::include_graphics("../inst/extdata/01_define_targets.png") +``` + +`bed_to_granges` converts a (0-based) BED coordinate file into a (1-based) GRanges. +An example is loading the 1974 binding sites of the transcription factor SRF: + +```{r} +require(magrittr) +require(multicrispr) +bedfile <- system.file('extdata/SRF.bed', package = 'multicrispr') +tfbs0 <- bed_to_granges(bedfile, genome = 'mm10') +``` + + +`genes_to_granges` and `genefile_to_granges` convert entrez/ensembl gene identifiers into GRanges using `txdb` gene models. +An example that loads of a small subset of the 1974 SRF binding sites: + +```{r} +require(multicrispr) +entrezfile <- system.file('extdata/SRF.entrez', package = 'multicrispr') +txdb <- TxDb.Mmusculus.UCSC.mm10.knownGene::TxDb.Mmusculus.UCSC.mm10.knownGene +sometfbs0 <- genefile_to_granges(entrezfile, txdb, complement = TRUE) +``` + + +`char_to_granges` uses a 1-based coordinate vector to specify the GRanges. +It can be used to define four prime editing sites mentioned by Anzalone et al. (2019): + +```{r, fig.width=3.5, fig.height=1.5} +# char_to_granges: Anzalone et al. (2019) prime editing targets +bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +pe0 <- char_to_granges(c(HBB = 'chr11:5227002:-'), bsgenome) +plot_intervals(pe0) +``` + +## Transform targets + +```{r, fig.small = TRUE, out.width = "70%", echo = FALSE } +knitr::include_graphics("../inst/extdata/02_transform.png") +``` + +As a second step, the original targets may require transformation. The functions `extend`, `up_flank` (upstream flanks), `down_flank` (downstream flanks), and `double_flank` (double flanks) can be used to update the target ranges as required. + +```{r, fig.width=4, fig.height=2, out.width="65%"} +# Extend +targets <- pe0 +invisible(extend(targets, -22, 22, plot = TRUE)) +# Up flank +invisible(up_flank( targets, -200, -1, plot = TRUE)) +# Down flank +invisible(down_flank( targets, 1, 200, plot = TRUE)) +# Double flank +invisible(double_flank(targets, -200, -1, +1, +200, plot = TRUE)) +``` + + +## Find spacers + +```{r, fig.small = TRUE, out.width = "70%", echo = FALSE } +knitr::include_graphics("../inst/extdata/03_find.png") +``` + +The next step is to find N20 spacers followed by NGG pam sites. +This can be done with `find_spacers`, after extending target range(s) to prime editing neighbourhood(s): + +```{r, fig.width=3, fig.height=1.5} +bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 +neighbourhood <- extend_for_pe(targets, bsgenome) +spacers <- find_spacers(neighbourhood, bsgenome, complement = FALSE) +``` + +For prime editing, however, it is better to use `find_pe_spacers`, which performs target to neighbourhood extension implicitly, and also adds 3' extension (Fig 1) to returned spacer GRanges. + +```{r, fig.width=3.3, fig.height=1.7} +spacers <- find_pe_spacers(targets, bsgenome=bsgenome) +``` + +This finds prime editing sites that follow Anzalone et al. (2019)'s recommended default settings: a 13-nucleotide primer and a 16-nucleotide reverse transcription template. These settings can be easily altered (e.g. Anzalone et al. report success with reverse transcription templates of up to 48 nucleotides) by: + +```{r, fig.width=3.6, fig.height=2.1} +spacers <- find_pe_spacers(targets, bsgenome=bsgenome, nrt = 48) +``` + + +## Add offtargets + +```{r, fig.small = TRUE, out.width = "70%", echo = FALSE } +knitr::include_graphics("../inst/extdata/04_offtargets.png") +``` + +```{r, fig.width=3.6, fig.height=2.1} +if (has_been_indexed(bsgenome)){ + spacers %<>% add_offtargets(bsgenome, mismatch = 0, plot = TRUE) +} +``` + +## Add efficiency + +```{r, fig.small = TRUE, out.width = "70%", echo = FALSE } +knitr::include_graphics("../inst/extdata/05_efficiency.png") +``` + +Not all N~20~NGG gRNA sequences target equally well (even when matching sequence perfectly). For each position in the 23-bp gRNA sequence, the nucleotide present in current, previous and next position has an effect on targeting efficiency. The current community standard for on-target efficiency prediction is that of Doench et al. (2016), which can be computed and added with `add_efficiency`: + +```{r, fig.width=3.6, fig.height=2.1} +if (reticulate::py_module_available('azimuth')){ + spacers %<>% add_efficiency(bsgenome, 'Doench2016') +} +``` + +## Return spacer GRanges + +```{r} + spacers +``` + +# References {-} + +Anzalone, A.V., Randolph, P.B., Davis, J.R. et al. Search-and-replace genome editing without double-strand breaks or donor DNA. Nature 576, 149–157 (2019). https://doi.org/10.1038/s41586-019-1711-4 + +Doench et al. (2016). Optimized sgRNA design to maximize activity and minimize off-target effects of CRISPR-Cas9. Nature Biotechnology, 34(7), doi:10.1038/nbt.3437 + + + + + + +