1 Ontology Searching, P. aeruginosa: 20171019

1.1 Run goseq

Please note that this is using the >8 fold significance data.

## The species being downloaded is: Pseudomonas aeruginosa UCBPP-PA14 and is being downloaded as 208963.tab.
## Using the row names of your table.
## Found 27 genes out of 40 from the sig_genes in the go_db.
## Found 27 genes out of 40 from the sig_genes in the length_db.
## 
## Using manually entered categories.
## Calculating the p-values...
## 'select()' returned 1:1 mapping between keys and columns
## simple_goseq(): Calculating q-values
## Using GO.db to extract terms and categories.
## simple_goseq(): Filling godata with terms, this is slow.
## Testing that go categories are defined.
## Removing undefined categories.
## Gathering synonyms.
## Gathering category definitions.
## simple_goseq(): Making pvalue plots for the ontologies.

## Using the row names of your table.
## Found 18 genes out of 22 from the sig_genes in the go_db.
## Found 18 genes out of 22 from the sig_genes in the length_db.
## Warning in pcls(G): initial point very close to some inequality constraints
## Using manually entered categories.
## Calculating the p-values...
## 'select()' returned 1:1 mapping between keys and columns
## simple_goseq(): Calculating q-values
## Using GO.db to extract terms and categories.
## simple_goseq(): Filling godata with terms, this is slow.
## Testing that go categories are defined.
## Removing undefined categories.
## Gathering synonyms.
## Gathering category definitions.
## simple_goseq(): Making pvalue plots for the ontologies.

## Writing a sheet containing the legend.
## Warning: Removed 1 rows containing missing values (geom_bar).
## Warning: Removed 1 rows containing missing values (geom_bar).
## There was an error generating the BP tree.

## Writing the BP data.
## Loading required namespace: Vennerable
## 
## Attaching package: 'Vennerable'
## The following objects are masked from 'package:topGO':
## 
##     Weights, Weights<-
## Writing the MF data.
## Writing the CC data.
## Finished writing excel file.

## Writing a sheet containing the legend.
## Warning: Removed 1 rows containing missing values (geom_bar).

## Warning: Removed 1 rows containing missing values (geom_bar).

## Writing the BP data.
## Writing the MF data.
## Writing the CC data.
## Finished writing excel file.

## Using the row names of your table.
## Found 40 genes out of 61 from the sig_genes in the go_db.
## Found 40 genes out of 61 from the sig_genes in the length_db.
## Using manually entered categories.
## Calculating the p-values...
## 'select()' returned 1:1 mapping between keys and columns
## simple_goseq(): Calculating q-values
## Using GO.db to extract terms and categories.
## simple_goseq(): Filling godata with terms, this is slow.
## Testing that go categories are defined.
## Removing undefined categories.
## Gathering synonyms.
## Gathering category definitions.
## simple_goseq(): Making pvalue plots for the ontologies.

## Using the row names of your table.
## Found 101 genes out of 184 from the sig_genes in the go_db.
## Found 101 genes out of 184 from the sig_genes in the length_db.
## Warning in pcls(G): initial point very close to some inequality constraints
## Using manually entered categories.
## Calculating the p-values...
## 'select()' returned 1:1 mapping between keys and columns
## simple_goseq(): Calculating q-values
## Using GO.db to extract terms and categories.
## simple_goseq(): There are no genes with an adj.p < 0.1 using: BH.
## simple_goseq(): Providing genes with raw pvalue < 0.1.
## simple_goseq(): Filling godata with terms, this is slow.
## Testing that go categories are defined.
## Removing undefined categories.
## Gathering synonyms.
## Gathering category definitions.
## simple_goseq(): Making pvalue plots for the ontologies.

## Writing a sheet containing the legend.
## Warning: Removed 1 rows containing missing values (geom_bar).

## Warning: Removed 1 rows containing missing values (geom_bar).
## There was an error generating the BP tree.

## Writing the BP data.
## Writing the MF data.
## Writing the CC data.
## Finished writing excel file.

## Writing a sheet containing the legend.
## Warning: Removed 1 rows containing missing values (geom_bar).

## Warning: Removed 1 rows containing missing values (geom_bar).

## Writing the BP data.
## Writing the MF data.
## Writing the CC data.
## Finished writing excel file.

## Using the row names of your table.
## Found 176 genes out of 326 from the sig_genes in the go_db.
## Found 176 genes out of 326 from the sig_genes in the length_db.
## Warning in pcls(G): initial point very close to some inequality constraints
## Using manually entered categories.
## Calculating the p-values...
## 'select()' returned 1:1 mapping between keys and columns
## simple_goseq(): Calculating q-values
## Using GO.db to extract terms and categories.
## simple_goseq(): There are no genes with an adj.p < 0.1 using: BH.
## simple_goseq(): Providing genes with raw pvalue < 0.1.
## simple_goseq(): Filling godata with terms, this is slow.
## Testing that go categories are defined.
## Removing undefined categories.
## Gathering synonyms.
## Gathering category definitions.
## simple_goseq(): Making pvalue plots for the ontologies.

## Using the row names of your table.
## Found 82 genes out of 97 from the sig_genes in the go_db.
## Found 82 genes out of 97 from the sig_genes in the length_db.
## Using manually entered categories.
## Calculating the p-values...
## 'select()' returned 1:1 mapping between keys and columns
## simple_goseq(): Calculating q-values
## Using GO.db to extract terms and categories.
## simple_goseq(): Filling godata with terms, this is slow.
## Testing that go categories are defined.
## Removing undefined categories.
## Gathering synonyms.
## Gathering category definitions.
## simple_goseq(): Making pvalue plots for the ontologies.

## Writing a sheet containing the legend.
## Warning: Removed 1 rows containing missing values (geom_bar).

## Warning: Removed 1 rows containing missing values (geom_bar).

## Writing the BP data.
## Writing the MF data.
## Writing the CC data.
## Finished writing excel file.

## Writing a sheet containing the legend.
## Warning: Removed 1 rows containing missing values (geom_bar).

## Warning: Removed 1 rows containing missing values (geom_bar).

## Writing the BP data.
## Writing the MF data.
## Writing the CC data.
## Finished writing excel file.

## Using the row names of your table.
## Found 49 genes out of 61 from the sig_genes in the go_db.
## Found 49 genes out of 61 from the sig_genes in the length_db.
## Using manually entered categories.
## Calculating the p-values...
## 'select()' returned 1:1 mapping between keys and columns
## simple_goseq(): Calculating q-values
## Using GO.db to extract terms and categories.
## simple_goseq(): Filling godata with terms, this is slow.
## Testing that go categories are defined.
## Removing undefined categories.
## Gathering synonyms.
## Gathering category definitions.
## simple_goseq(): Making pvalue plots for the ontologies.

## Using the row names of your table.
## Found 6 genes out of 6 from the sig_genes in the go_db.
## Found 6 genes out of 6 from the sig_genes in the length_db.
## Using manually entered categories.
## Calculating the p-values...
## 'select()' returned 1:1 mapping between keys and columns
## simple_goseq(): Calculating q-values
## Using GO.db to extract terms and categories.
## simple_goseq(): There are no genes with an adj.p < 0.1 using: BH.
## simple_goseq(): Providing genes with raw pvalue < 0.1.
## simple_goseq(): Filling godata with terms, this is slow.
## Testing that go categories are defined.
## Removing undefined categories.
## Gathering synonyms.
## Gathering category definitions.
## simple_goseq(): Making pvalue plots for the ontologies.

## Writing a sheet containing the legend.
## Warning: Removed 1 rows containing missing values (geom_bar).

## Warning: Removed 1 rows containing missing values (geom_bar).

## Writing the BP data.
## Writing the MF data.
## Writing the CC data.
## Finished writing excel file.

## Writing a sheet containing the legend.
## Warning: Removed 1 rows containing missing values (geom_bar).

## Warning: Removed 1 rows containing missing values (geom_bar).

## Writing the BP data.
## Writing the MF data.
## No data survived to be written for the CC ontology.
## Finished writing excel file.

R version 3.5.1 (2018-07-02)

Platform: x86_64-pc-linux-gnu (64-bit)

locale: LC_CTYPE=en_US.utf8, LC_NUMERIC=C, LC_TIME=en_US.utf8, LC_COLLATE=en_US.utf8, LC_MONETARY=en_US.utf8, LC_MESSAGES=en_US.utf8, LC_PAPER=en_US.utf8, LC_NAME=C, LC_ADDRESS=C, LC_TELEPHONE=C, LC_MEASUREMENT=en_US.utf8 and LC_IDENTIFICATION=C

attached base packages: grid, parallel, stats, graphics, grDevices, utils, datasets, methods and base

other attached packages: Vennerable(v.3.1.0.9000), Rgraphviz(v.2.24.0), graph(v.1.58.0), BiocGenerics(v.0.26.0), SparseM(v.1.77), topGO(v.2.32.0) and hpgltools(v.2018.03)

loaded via a namespace (and not attached): colorspace(v.1.3-2), selectr(v.0.4-1), rprojroot(v.1.3-2), qvalue(v.2.12.0), htmlTable(v.1.12), XVector(v.0.20.0), GenomicRanges(v.1.32.4), base64enc(v.0.1-3), rstudioapi(v.0.7), roxygen2(v.6.0.1), ggrepel(v.0.8.0), bit64(v.0.9-7), AnnotationDbi(v.1.42.1), xml2(v.1.2.0), codetools(v.0.2-15), splines(v.3.5.1), robustbase(v.0.93-1.1), geneplotter(v.1.58.0), knitr(v.1.20), Formula(v.1.2-3), Rsamtools(v.1.32.2), annotate(v.1.58.0), GO.db(v.3.6.0), cluster(v.2.0.7-1), geneLenDataBase(v.1.16.0), compiler(v.3.5.1), httr(v.1.3.1), backports(v.1.1.2), assertthat(v.0.2.0), Matrix(v.1.2-14), lazyeval(v.0.2.1), acepack(v.1.4.1), htmltools(v.0.3.6), prettyunits(v.1.0.2), tools(v.3.5.1), bindrcpp(v.0.2.2), gtable(v.0.2.0), glue(v.1.3.0), GenomeInfoDbData(v.1.1.0), reshape2(v.1.4.3), dplyr(v.0.7.6), Rcpp(v.0.12.17), Biobase(v.2.40.0), Biostrings(v.2.48.0), nlme(v.3.1-137), rtracklayer(v.1.40.3), iterators(v.1.0.10), stringr(v.1.3.1), openxlsx(v.4.1.0), rvest(v.0.3.2), devtools(v.1.13.6), XML(v.3.98-1.12), DEoptimR(v.1.0-8), directlabels(v.2018.05.22), zlibbioc(v.1.26.0), scales(v.0.5.0), hms(v.0.4.2), RBGL(v.1.56.0), SummarizedExperiment(v.1.10.1), RColorBrewer(v.1.1-2), yaml(v.2.1.19), curl(v.3.2), goseq(v.1.32.0), memoise(v.1.1.0), gridExtra(v.2.3), pander(v.0.6.2), ggplot2(v.3.0.0), biomaRt(v.2.36.1), rpart(v.4.1-13), latticeExtra(v.0.6-28), stringi(v.1.2.3), RSQLite(v.2.1.1), genefilter(v.1.62.0), S4Vectors(v.0.18.3), foreach(v.1.4.4), checkmate(v.1.8.5), GenomicFeatures(v.1.32.0), zip(v.1.0.0), BiocParallel(v.1.14.2), GenomeInfoDb(v.1.16.0), rlang(v.0.2.1), pkgconfig(v.2.0.1), commonmark(v.1.5), matrixStats(v.0.53.1), bitops(v.1.0-6), evaluate(v.0.11), lattice(v.0.20-35), purrr(v.0.2.5), bindr(v.0.1.1), labeling(v.0.3), GenomicAlignments(v.1.16.0), htmlwidgets(v.1.2), bit(v.1.1-14), tidyselect(v.0.2.4), plyr(v.1.8.4), magrittr(v.1.5), DESeq2(v.1.20.0), R6(v.2.2.2), IRanges(v.2.14.10), Hmisc(v.4.1-1), DelayedArray(v.0.6.1), DBI(v.1.0.0), mgcv(v.1.8-24), pillar(v.1.3.0), foreign(v.0.8-70), withr(v.2.1.2), survival(v.2.42-6), RCurl(v.1.95-4.11), nnet(v.7.3-12), tibble(v.1.4.2), crayon(v.1.3.4), rmarkdown(v.1.10), progress(v.1.2.0), locfit(v.1.5-9.1), data.table(v.1.11.4), blob(v.1.1.1), digest(v.0.6.15), xtable(v.1.8-2), tidyr(v.0.8.1), stats4(v.3.5.1), munsell(v.0.5.0), BiasedUrn(v.1.07) and quadprog(v.1.5-5)

## If you wish to reproduce this exact build of hpgltools, invoke the following:
## > git clone http://github.com/abelew/hpgltools.git
## > git reset c730ef178f8e57bbf3819e21cf5e6cfe879e6328
## R> packrat::restore()
## This is hpgltools commit: Fri Jul 13 17:21:39 2018 -0400: c730ef178f8e57bbf3819e21cf5e6cfe879e6328
## Saving to 03_differential_expression-v20171019.rda.xz
LS0tCnRpdGxlOiAiMjAxNzEwMTk6IFJOQXNlcSBvZiBQLmFlcnVnaW5vc2EsIE9udG9sb2d5IHNlYXJjaGluZy4iCmF1dGhvcjogImF0YiBhYmVsZXdAZ21haWwuY29tIgpkYXRlOiAiYHIgU3lzLkRhdGUoKWAiCm91dHB1dDoKIGh0bWxfZG9jdW1lbnQ6CiAgY29kZV9kb3dubG9hZDogdHJ1ZQogIGNvZGVfZm9sZGluZzogc2hvdwogIGZpZ19jYXB0aW9uOiB0cnVlCiAgZmlnX2hlaWdodDogNwogIGZpZ193aWR0aDogNwogIGhpZ2hsaWdodDogdGFuZ28KICBrZWVwX21kOiBmYWxzZQogIG1vZGU6IHNlbGZjb250YWluZWQKICBudW1iZXJfc2VjdGlvbnM6IHRydWUKICBzZWxmX2NvbnRhaW5lZDogdHJ1ZQogIHRoZW1lOiBjb3NtbwogIHRvYzogdHJ1ZQogIHRvY19mbG9hdDoKICAgIGNvbGxhcHNlZDogZmFsc2UKICAgIHNtb290aF9zY3JvbGw6IGZhbHNlCi0tLQoKPHN0eWxlPgogIGJvZHkgLm1haW4tY29udGFpbmVyIHsKICAgIG1heC13aWR0aDogMTYwMHB4OwogIH0KPC9zdHlsZT4KCmBgYHtyIG9wdGlvbnMsIGluY2x1ZGU9RkFMU0V9CmxpYnJhcnkoImhwZ2x0b29scyIpCnR0IDwtIHNtKGRldnRvb2xzOjpsb2FkX2FsbCgifi9ocGdsdG9vbHMiKSkKa25pdHI6Om9wdHNfa25pdCRzZXQocHJvZ3Jlc3M9VFJVRSwKICAgICAgICAgICAgICAgICAgICAgdmVyYm9zZT1UUlVFLAogICAgICAgICAgICAgICAgICAgICB3aWR0aD05MCwKICAgICAgICAgICAgICAgICAgICAgZWNobz1UUlVFKQprbml0cjo6b3B0c19jaHVuayRzZXQoZXJyb3I9VFJVRSwKICAgICAgICAgICAgICAgICAgICAgIGZpZy53aWR0aD04LAogICAgICAgICAgICAgICAgICAgICAgZmlnLmhlaWdodD04LAogICAgICAgICAgICAgICAgICAgICAgZHBpPTk2KQpvbGRfb3B0aW9ucyA8LSBvcHRpb25zKGRpZ2l0cz00LAogICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ3NBc0ZhY3RvcnM9RkFMU0UsCiAgICAgICAgICAgICAgICAgICAgICAga25pdHIuZHVwbGljYXRlLmxhYmVsPSJhbGxvdyIpCmdncGxvdDI6OnRoZW1lX3NldChnZ3Bsb3QyOjp0aGVtZV9idyhiYXNlX3NpemU9MTApKQpzZXQuc2VlZCgxKQpwcmV2aW91c19maWxlIDwtICIwM19kaWZmZXJlbnRpYWxfZXhwcmVzc2lvbi5SbWQiCnZlciA8LSAiMjAxNzEwMTkiCgp0bXAgPC0gc20obG9hZG1lKGZpbGVuYW1lPXBhc3RlMChnc3ViKHBhdHRlcm49IlxcLlJtZCIsIHJlcGxhY2U9IiIsIHg9cHJldmlvdXNfZmlsZSksICItdiIsIHZlciwgIi5yZGEueHoiKSkpCmBgYAoKIyBPbnRvbG9neSBTZWFyY2hpbmcsIFAuIGFlcnVnaW5vc2E6IGByIHZlcmAKCiMjIFJ1biBnb3NlcQoKUGxlYXNlIG5vdGUgdGhhdCB0aGlzIGlzIHVzaW5nIHRoZSA+OCBmb2xkIHNpZ25pZmljYW5jZSBkYXRhLgoKYGBge3IgZ29zZXF9CnBhX2dvIDwtIGxvYWRfbWljcm9iZXNvbmxpbmVfZ28oaWQ9MjA4OTYzKQpjb2xuYW1lcyhwYV9nbykgPC0gYygiSUQiLCAiR08iKQoKZ2ZmX2Fubm90W1sibmFtZSJdXSA8LSBhcy5jaGFyYWN0ZXIoZ2ZmX2Fubm90W1sibmFtZSJdXSkKbGVuZ3RoX2dvIDwtIG1lcmdlKGdmZl9hbm5vdCwgcGFfZ28sIGJ5Lng9Im5hbWUiLCBieS55PSJJRCIpCnBhX2xlbmd0aHMgPC0gdW5pcXVlKGxlbmd0aF9nb1ssIGMoIklEIiwgIndpZHRoIildKQpwYV9nbyA8LSBsZW5ndGhfZ29bLCBjKCJJRCIsICJHTyIpXQoKcGFfZXhfbXR3dF91cCA8LSBwYV9zaWdbWyJkZXNlcSJdXVtbInVwcyJdXVtbIm10X2V4X3ZzX3d0X2V4Il1dCnBhX2V4X210d3RfZG93biA8LSBwYV9zaWdbWyJkZXNlcSJdXVtbImRvd25zIl1dW1sibXRfZXhfdnNfd3RfZXgiXV0KCnBhX3N0X210d3RfdXAgPC0gcGFfc2lnW1siZGVzZXEiXV1bWyJ1cHMiXV1bWyJtdF9zdF92c193dF9zdCJdXQpwYV9zdF9tdHd0X2Rvd24gPC0gcGFfc2lnW1siZGVzZXEiXV1bWyJkb3ducyJdXVtbIm10X3N0X3ZzX3d0X3N0Il1dCgpwYV9leF93dG10X3VwX2dvc2VxIDwtIHNpbXBsZV9nb3NlcShzaWdfZ2VuZXM9cGFfZXhfbXR3dF91cCwgZ29fZGI9cGFfZ28sIGxlbmd0aF9kYj1wYV9sZW5ndGhzKQpwYV9leF93dG10X3VwX2dvc2VxJHB2YWx1ZV9wbG90cyRicHBfcGxvdF9vdmVyCnBhX2V4X3d0bXRfZG93bl9nb3NlcSA8LSBzaW1wbGVfZ29zZXEoc2lnX2dlbmVzPXBhX2V4X210d3RfZG93biwgZ29fZGI9cGFfZ28sIGxlbmd0aF9kYj1wYV9sZW5ndGhzKQpwYV9leF93dG10X2Rvd25fZ29zZXEkcHZhbHVlX3Bsb3RzJGJwcF9wbG90X292ZXIKd3JpdGVtZSA8LSB3cml0ZV9nb3NlcV9kYXRhKGdvc2VxX3Jlc3VsdD1wYV9leF93dG10X3VwX2dvc2VxLCBleGNlbD0iZXhjZWwvcGFfZXhfd3RtdF91cF9nb3NlcS54bHN4IikKd3JpdGVtZSA8LSB3cml0ZV9nb3NlcV9kYXRhKGdvc2VxX3Jlc3VsdD1wYV9leF93dG10X2Rvd25fZ29zZXEsIGV4Y2VsPSJleGNlbC9wYV9leF93dG10X2Rvd25fZ29zZXEueGxzeCIpCgpwYV9zdF93dG10X3VwX2dvc2VxIDwtIHNpbXBsZV9nb3NlcShzaWdfZ2VuZXM9cGFfc3RfbXR3dF91cCwgZ29fZGI9cGFfZ28sIGxlbmd0aF9kYj1wYV9sZW5ndGhzKQpwYV9zdF93dG10X3VwX2dvc2VxJHB2YWx1ZV9wbG90cyRicHBfcGxvdF9vdmVyCnBhX3N0X3d0bXRfZG93bl9nb3NlcSA8LSBzaW1wbGVfZ29zZXEoc2lnX2dlbmVzPXBhX3N0X210d3RfZG93biwgZ29fZGI9cGFfZ28sIGxlbmd0aF9kYj1wYV9sZW5ndGhzKQpwYV9zdF93dG10X2Rvd25fZ29zZXEkcHZhbHVlX3Bsb3RzJGJwcF9wbG90X292ZXIKd3JpdGVtZSA8LSB3cml0ZV9nb3NlcV9kYXRhKGdvc2VxX3Jlc3VsdD1wYV9zdF93dG10X3VwX2dvc2VxLCBleGNlbD0iZXhjZWwvcGFfc3Rfd3RtdF91cF9nb3NlcS54bHN4IikKd3JpdGVtZSA8LSB3cml0ZV9nb3NlcV9kYXRhKGdvc2VxX3Jlc3VsdD1wYV9zdF93dG10X2Rvd25fZ29zZXEsIGV4Y2VsPSJleGNlbC9wYV9zdF93dG10X2Rvd25fZ29zZXEueGxzeCIpCgpwYV93dF9zdGV4X3VwIDwtIHBhX3NpZ1tbImRlc2VxIl1dW1sidXBzIl1dW1sid3Rfc3RfdnNfd3RfZXgiXV0KcGFfd3Rfc3RleF9kb3duIDwtIHBhX3NpZ1tbImRlc2VxIl1dW1siZG93bnMiXV1bWyJ3dF9zdF92c193dF9leCJdXQoKcGFfbXRfc3RleF91cCA8LSBwYV9zaWdbWyJkZXNlcSJdXVtbInVwcyJdXVtbIm10X3N0X3ZzX210X2V4Il1dCnBhX210X3N0ZXhfZG93biA8LSBwYV9zaWdbWyJkZXNlcSJdXVtbImRvd25zIl1dW1sibXRfc3RfdnNfbXRfZXgiXV0KCnBhX3d0X3N0ZXhfdXBfZ29zZXEgPC0gc2ltcGxlX2dvc2VxKHNpZ19nZW5lcz1wYV93dF9zdGV4X3VwLCBnb19kYj1wYV9nbywgbGVuZ3RoX2RiPXBhX2xlbmd0aHMpCnBhX3d0X3N0ZXhfdXBfZ29zZXEkcHZhbHVlX3Bsb3RzJGJwcF9wbG90X292ZXIKcGFfd3Rfc3RleF9kb3duX2dvc2VxIDwtIHNpbXBsZV9nb3NlcShzaWdfZ2VuZXM9cGFfd3Rfc3RleF9kb3duLCBnb19kYj1wYV9nbywgbGVuZ3RoX2RiPXBhX2xlbmd0aHMpCnBhX3d0X3N0ZXhfZG93bl9nb3NlcSRwdmFsdWVfcGxvdHMkYnBwX3Bsb3Rfb3Zlcgp3cml0ZW1lIDwtIHdyaXRlX2dvc2VxX2RhdGEoZ29zZXFfcmVzdWx0PXBhX3d0X3N0ZXhfdXBfZ29zZXEsIGV4Y2VsPSJleGNlbC9wYV93dF9zdGV4X3VwX2dvc2VxLnhsc3giKQp3cml0ZW1lIDwtIHdyaXRlX2dvc2VxX2RhdGEoZ29zZXFfcmVzdWx0PXBhX3d0X3N0ZXhfZG93bl9nb3NlcSwgZXhjZWw9ImV4Y2VsL3BhX3d0X3N0ZXhfZG93bl9nb3NlcS54bHN4IikKCnBhX210X3N0ZXhfdXBfZ29zZXEgPC0gc2ltcGxlX2dvc2VxKHNpZ19nZW5lcz1wYV9tdF9zdGV4X3VwLCBnb19kYj1wYV9nbywgbGVuZ3RoX2RiPXBhX2xlbmd0aHMpCnBhX210X3N0ZXhfdXBfZ29zZXEkcHZhbHVlX3Bsb3RzJGJwcF9wbG90X292ZXIKcGFfbXRfc3RleF9kb3duX2dvc2VxIDwtIHNpbXBsZV9nb3NlcShzaWdfZ2VuZXM9cGFfbXRfc3RleF9kb3duLCBnb19kYj1wYV9nbywgbGVuZ3RoX2RiPXBhX2xlbmd0aHMpCnBhX210X3N0ZXhfZG93bl9nb3NlcSRwdmFsdWVfcGxvdHMkYnBwX3Bsb3Rfb3Zlcgp3cml0ZW1lIDwtIHdyaXRlX2dvc2VxX2RhdGEoZ29zZXFfcmVzdWx0PXBhX210X3N0ZXhfdXBfZ29zZXEsIGV4Y2VsPSJleGNlbC9wYV9tdF9zdGV4X3VwX2dvc2VxLnhsc3giKQp3cml0ZW1lIDwtIHdyaXRlX2dvc2VxX2RhdGEoZ29zZXFfcmVzdWx0PXBhX210X3N0ZXhfZG93bl9nb3NlcSwgZXhjZWw9ImV4Y2VsL3BhX210X3N0ZXhfZG93bl9nb3NlcS54bHN4IikKYGBgCgpgYGB7ciBzYXZlbWV9CnBhbmRlcjo6cGFuZGVyKHNlc3Npb25JbmZvKCkpCm1lc3NhZ2UocGFzdGUwKCJUaGlzIGlzIGhwZ2x0b29scyBjb21taXQ6ICIsIGdldF9naXRfY29tbWl0KCkpKQp0aGlzX3NhdmUgPC0gcGFzdGUwKGdzdWIocGF0dGVybj0iXFwuUm1kIiwgcmVwbGFjZT0iIiwgeD1ybWRfZmlsZSksICItdiIsIHZlciwgIi5yZGEueHoiKQptZXNzYWdlKHBhc3RlMCgiU2F2aW5nIHRvICIsIHRoaXNfc2F2ZSkpCnRtcCA8LSBzbShzYXZlbWUoZmlsZW5hbWU9dGhpc19zYXZlKSkKYGBgCg==