Over representation
searches
all_gp <- all_gprofiler(hs_macrophage_sig)
## Redirecting to simple_gprofiler2().
## If you wish to roll the bones with the previous function, try:
## simple_gprofiler_old().
## Performing gProfiler GO search of 670 against hsapiens.
## GO search found 691 hits.
## Performing gProfiler KEGG search of 670 against hsapiens.
## KEGG search found 11 hits.
## Performing gProfiler REAC search of 670 against hsapiens.
## REAC search found 12 hits.
## Performing gProfiler WP search of 670 against hsapiens.
## WP search found 12 hits.
## Performing gProfiler TF search of 670 against hsapiens.
## TF search found 111 hits.
## Performing gProfiler MIRNA search of 670 against hsapiens.
## MIRNA search found 1 hits.
## Performing gProfiler HPA search of 670 against hsapiens.
## HPA search found 0 hits.
## Performing gProfiler CORUM search of 670 against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 670 against hsapiens.
## HP search found 0 hits.
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Error in if (is.null(mf_over) | nrow(mf_over) == 0) { :
## argument is of length zero
## Redirecting to simple_gprofiler2().
## If you wish to roll the bones with the previous function, try:
## simple_gprofiler_old().
## Performing gProfiler GO search of 386 against hsapiens.
## GO search found 61 hits.
## Performing gProfiler KEGG search of 386 against hsapiens.
## KEGG search found 0 hits.
## Performing gProfiler REAC search of 386 against hsapiens.
## REAC search found 1 hits.
## Performing gProfiler WP search of 386 against hsapiens.
## WP search found 0 hits.
## Performing gProfiler TF search of 386 against hsapiens.
## TF search found 30 hits.
## Performing gProfiler MIRNA search of 386 against hsapiens.
## MIRNA search found 0 hits.
## Performing gProfiler HPA search of 386 against hsapiens.
## HPA search found 0 hits.
## Performing gProfiler CORUM search of 386 against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 386 against hsapiens.
## HP search found 0 hits.
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Error in if (is.null(mf_over) | nrow(mf_over) == 0) { :
## argument is of length zero
## Redirecting to simple_gprofiler2().
## If you wish to roll the bones with the previous function, try:
## simple_gprofiler_old().
## Performing gProfiler GO search of 435 against hsapiens.
## GO search found 189 hits.
## Performing gProfiler KEGG search of 435 against hsapiens.
## KEGG search found 0 hits.
## Performing gProfiler REAC search of 435 against hsapiens.
## REAC search found 4 hits.
## Performing gProfiler WP search of 435 against hsapiens.
## WP search found 2 hits.
## Performing gProfiler TF search of 435 against hsapiens.
## TF search found 62 hits.
## Performing gProfiler MIRNA search of 435 against hsapiens.
## MIRNA search found 0 hits.
## Performing gProfiler HPA search of 435 against hsapiens.
## HPA search found 0 hits.
## Performing gProfiler CORUM search of 435 against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 435 against hsapiens.
## HP search found 0 hits.
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Error in if (is.null(mf_over) | nrow(mf_over) == 0) { :
## argument is of length zero
## Redirecting to simple_gprofiler2().
## If you wish to roll the bones with the previous function, try:
## simple_gprofiler_old().
## Performing gProfiler GO search of 7 against hsapiens.
## GO search found 3 hits.
## Performing gProfiler KEGG search of 7 against hsapiens.
## KEGG search found 0 hits.
## Performing gProfiler REAC search of 7 against hsapiens.
## REAC search found 0 hits.
## Performing gProfiler WP search of 7 against hsapiens.
## WP search found 0 hits.
## Performing gProfiler TF search of 7 against hsapiens.
## TF search found 0 hits.
## Performing gProfiler MIRNA search of 7 against hsapiens.
## MIRNA search found 0 hits.
## Performing gProfiler HPA search of 7 against hsapiens.
## HPA search found 0 hits.
## Performing gProfiler CORUM search of 7 against hsapiens.
## CORUM search found 2 hits.
## Performing gProfiler HP search of 7 against hsapiens.
## HP search found 0 hits.
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Error in if (is.null(mf_over) | nrow(mf_over) == 0) { :
## argument is of length zero
## Redirecting to simple_gprofiler2().
## If you wish to roll the bones with the previous function, try:
## simple_gprofiler_old().
## Performing gProfiler GO search of 529 against hsapiens.
## GO search found 557 hits.
## Performing gProfiler KEGG search of 529 against hsapiens.
## KEGG search found 8 hits.
## Performing gProfiler REAC search of 529 against hsapiens.
## REAC search found 13 hits.
## Performing gProfiler WP search of 529 against hsapiens.
## WP search found 12 hits.
## Performing gProfiler TF search of 529 against hsapiens.
## TF search found 109 hits.
## Performing gProfiler MIRNA search of 529 against hsapiens.
## MIRNA search found 1 hits.
## Performing gProfiler HPA search of 529 against hsapiens.
## HPA search found 0 hits.
## Performing gProfiler CORUM search of 529 against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 529 against hsapiens.
## HP search found 0 hits.
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Error in if (is.null(mf_over) | nrow(mf_over) == 0) { :
## argument is of length zero
## Redirecting to simple_gprofiler2().
## If you wish to roll the bones with the previous function, try:
## simple_gprofiler_old().
## Performing gProfiler GO search of 730 against hsapiens.
## GO search found 225 hits.
## Performing gProfiler KEGG search of 730 against hsapiens.
## KEGG search found 0 hits.
## Performing gProfiler REAC search of 730 against hsapiens.
## REAC search found 1 hits.
## Performing gProfiler WP search of 730 against hsapiens.
## WP search found 0 hits.
## Performing gProfiler TF search of 730 against hsapiens.
## TF search found 63 hits.
## Performing gProfiler MIRNA search of 730 against hsapiens.
## MIRNA search found 0 hits.
## Performing gProfiler HPA search of 730 against hsapiens.
## HPA search found 0 hits.
## Performing gProfiler CORUM search of 730 against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 730 against hsapiens.
## HP search found 0 hits.
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Error in if (is.null(mf_over) | nrow(mf_over) == 0) { :
## argument is of length zero
## Redirecting to simple_gprofiler2().
## If you wish to roll the bones with the previous function, try:
## simple_gprofiler_old().
## Performing gProfiler GO search of 484 against hsapiens.
## GO search found 624 hits.
## Performing gProfiler KEGG search of 484 against hsapiens.
## KEGG search found 11 hits.
## Performing gProfiler REAC search of 484 against hsapiens.
## REAC search found 13 hits.
## Performing gProfiler WP search of 484 against hsapiens.
## WP search found 17 hits.
## Performing gProfiler TF search of 484 against hsapiens.
## TF search found 104 hits.
## Performing gProfiler MIRNA search of 484 against hsapiens.
## MIRNA search found 1 hits.
## Performing gProfiler HPA search of 484 against hsapiens.
## HPA search found 0 hits.
## Performing gProfiler CORUM search of 484 against hsapiens.
## CORUM search found 2 hits.
## Performing gProfiler HP search of 484 against hsapiens.
## HP search found 0 hits.
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Error in if (is.null(mf_over) | nrow(mf_over) == 0) { :
## argument is of length zero
## Redirecting to simple_gprofiler2().
## If you wish to roll the bones with the previous function, try:
## simple_gprofiler_old().
## Performing gProfiler GO search of 422 against hsapiens.
## GO search found 60 hits.
## Performing gProfiler KEGG search of 422 against hsapiens.
## KEGG search found 0 hits.
## Performing gProfiler REAC search of 422 against hsapiens.
## REAC search found 1 hits.
## Performing gProfiler WP search of 422 against hsapiens.
## WP search found 0 hits.
## Performing gProfiler TF search of 422 against hsapiens.
## TF search found 3 hits.
## Performing gProfiler MIRNA search of 422 against hsapiens.
## MIRNA search found 0 hits.
## Performing gProfiler HPA search of 422 against hsapiens.
## HPA search found 0 hits.
## Performing gProfiler CORUM search of 422 against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 422 against hsapiens.
## HP search found 0 hits.
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Error in if (is.null(mf_over) | nrow(mf_over) == 0) { :
## argument is of length zero
## Redirecting to simple_gprofiler2().
## If you wish to roll the bones with the previous function, try:
## simple_gprofiler_old().
## Performing gProfiler GO search of 555 against hsapiens.
## GO search found 141 hits.
## Performing gProfiler KEGG search of 555 against hsapiens.
## KEGG search found 4 hits.
## Performing gProfiler REAC search of 555 against hsapiens.
## REAC search found 85 hits.
## Performing gProfiler WP search of 555 against hsapiens.
## WP search found 4 hits.
## Performing gProfiler TF search of 555 against hsapiens.
## TF search found 25 hits.
## Performing gProfiler MIRNA search of 555 against hsapiens.
## MIRNA search found 0 hits.
## Performing gProfiler HPA search of 555 against hsapiens.
## HPA search found 2 hits.
## Performing gProfiler CORUM search of 555 against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 555 against hsapiens.
## HP search found 0 hits.
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Error in if (is.null(mf_over) | nrow(mf_over) == 0) { :
## argument is of length zero
## Redirecting to simple_gprofiler2().
## If you wish to roll the bones with the previous function, try:
## simple_gprofiler_old().
## Performing gProfiler GO search of 780 against hsapiens.
## GO search found 743 hits.
## Performing gProfiler KEGG search of 780 against hsapiens.
## KEGG search found 6 hits.
## Performing gProfiler REAC search of 780 against hsapiens.
## REAC search found 12 hits.
## Performing gProfiler WP search of 780 against hsapiens.
## WP search found 1 hits.
## Performing gProfiler TF search of 780 against hsapiens.
## TF search found 201 hits.
## Performing gProfiler MIRNA search of 780 against hsapiens.
## MIRNA search found 0 hits.
## Performing gProfiler HPA search of 780 against hsapiens.
## HPA search found 5 hits.
## Performing gProfiler CORUM search of 780 against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 780 against hsapiens.
## HP search found 0 hits.
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Error in if (is.null(mf_over) | nrow(mf_over) == 0) { :
## argument is of length zero
## Redirecting to simple_gprofiler2().
## If you wish to roll the bones with the previous function, try:
## simple_gprofiler_old().
## Performing gProfiler GO search of 454 against hsapiens.
## GO search found 118 hits.
## Performing gProfiler KEGG search of 454 against hsapiens.
## KEGG search found 5 hits.
## Performing gProfiler REAC search of 454 against hsapiens.
## REAC search found 88 hits.
## Performing gProfiler WP search of 454 against hsapiens.
## WP search found 8 hits.
## Performing gProfiler TF search of 454 against hsapiens.
## TF search found 30 hits.
## Performing gProfiler MIRNA search of 454 against hsapiens.
## MIRNA search found 1 hits.
## Performing gProfiler HPA search of 454 against hsapiens.
## HPA search found 15 hits.
## Performing gProfiler CORUM search of 454 against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 454 against hsapiens.
## HP search found 0 hits.
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Error in if (is.null(mf_over) | nrow(mf_over) == 0) { :
## argument is of length zero
## Redirecting to simple_gprofiler2().
## If you wish to roll the bones with the previous function, try:
## simple_gprofiler_old().
## Performing gProfiler GO search of 986 against hsapiens.
## GO search found 835 hits.
## Performing gProfiler KEGG search of 986 against hsapiens.
## KEGG search found 1 hits.
## Performing gProfiler REAC search of 986 against hsapiens.
## REAC search found 8 hits.
## Performing gProfiler WP search of 986 against hsapiens.
## WP search found 2 hits.
## Performing gProfiler TF search of 986 against hsapiens.
## TF search found 258 hits.
## Performing gProfiler MIRNA search of 986 against hsapiens.
## MIRNA search found 1 hits.
## Performing gProfiler HPA search of 986 against hsapiens.
## HPA search found 2 hits.
## Performing gProfiler CORUM search of 986 against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 986 against hsapiens.
## HP search found 0 hits.
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Error in if (is.null(mf_over) | nrow(mf_over) == 0) { :
## argument is of length zero
## Redirecting to simple_gprofiler2().
## If you wish to roll the bones with the previous function, try:
## simple_gprofiler_old().
## Performing gProfiler GO search of 1081 against hsapiens.
## GO search found 1038 hits.
## Performing gProfiler KEGG search of 1081 against hsapiens.
## KEGG search found 15 hits.
## Performing gProfiler REAC search of 1081 against hsapiens.
## REAC search found 17 hits.
## Performing gProfiler WP search of 1081 against hsapiens.
## WP search found 12 hits.
## Performing gProfiler TF search of 1081 against hsapiens.
## TF search found 166 hits.
## Performing gProfiler MIRNA search of 1081 against hsapiens.
## MIRNA search found 1 hits.
## Performing gProfiler HPA search of 1081 against hsapiens.
## HPA search found 0 hits.
## Performing gProfiler CORUM search of 1081 against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 1081 against hsapiens.
## HP search found 0 hits.
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Error in if (is.null(mf_over) | nrow(mf_over) == 0) { :
## argument is of length zero
## Redirecting to simple_gprofiler2().
## If you wish to roll the bones with the previous function, try:
## simple_gprofiler_old().
## Performing gProfiler GO search of 701 against hsapiens.
## GO search found 84 hits.
## Performing gProfiler KEGG search of 701 against hsapiens.
## KEGG search found 0 hits.
## Performing gProfiler REAC search of 701 against hsapiens.
## REAC search found 1 hits.
## Performing gProfiler WP search of 701 against hsapiens.
## WP search found 0 hits.
## Performing gProfiler TF search of 701 against hsapiens.
## TF search found 56 hits.
## Performing gProfiler MIRNA search of 701 against hsapiens.
## MIRNA search found 0 hits.
## Performing gProfiler HPA search of 701 against hsapiens.
## HPA search found 0 hits.
## Performing gProfiler CORUM search of 701 against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 701 against hsapiens.
## HP search found 0 hits.
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Error in if (is.null(mf_over) | nrow(mf_over) == 0) { :
## argument is of length zero
## Redirecting to simple_gprofiler2().
## If you wish to roll the bones with the previous function, try:
## simple_gprofiler_old().
## Performing gProfiler GO search of 1025 against hsapiens.
## GO search found 659 hits.
## Performing gProfiler KEGG search of 1025 against hsapiens.
## KEGG search found 0 hits.
## Performing gProfiler REAC search of 1025 against hsapiens.
## REAC search found 4 hits.
## Performing gProfiler WP search of 1025 against hsapiens.
## WP search found 0 hits.
## Performing gProfiler TF search of 1025 against hsapiens.
## TF search found 188 hits.
## Performing gProfiler MIRNA search of 1025 against hsapiens.
## MIRNA search found 1 hits.
## Performing gProfiler HPA search of 1025 against hsapiens.
## HPA search found 0 hits.
## Performing gProfiler CORUM search of 1025 against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 1025 against hsapiens.
## HP search found 0 hits.
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Error in if (is.null(mf_over) | nrow(mf_over) == 0) { :
## argument is of length zero
## Redirecting to simple_gprofiler2().
## If you wish to roll the bones with the previous function, try:
## simple_gprofiler_old().
## Performing gProfiler GO search of 427 against hsapiens.
## GO search found 65 hits.
## Performing gProfiler KEGG search of 427 against hsapiens.
## KEGG search found 0 hits.
## Performing gProfiler REAC search of 427 against hsapiens.
## REAC search found 56 hits.
## Performing gProfiler WP search of 427 against hsapiens.
## WP search found 2 hits.
## Performing gProfiler TF search of 427 against hsapiens.
## TF search found 31 hits.
## Performing gProfiler MIRNA search of 427 against hsapiens.
## MIRNA search found 0 hits.
## Performing gProfiler HPA search of 427 against hsapiens.
## HPA search found 0 hits.
## Performing gProfiler CORUM search of 427 against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 427 against hsapiens.
## HP search found 0 hits.
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Error in if (is.null(mf_over) | nrow(mf_over) == 0) { :
## argument is of length zero
## Redirecting to simple_gprofiler2().
## If you wish to roll the bones with the previous function, try:
## simple_gprofiler_old().
## Performing gProfiler GO search of 910 against hsapiens.
## GO search found 351 hits.
## Performing gProfiler KEGG search of 910 against hsapiens.
## KEGG search found 4 hits.
## Performing gProfiler REAC search of 910 against hsapiens.
## REAC search found 87 hits.
## Performing gProfiler WP search of 910 against hsapiens.
## WP search found 7 hits.
## Performing gProfiler TF search of 910 against hsapiens.
## TF search found 86 hits.
## Performing gProfiler MIRNA search of 910 against hsapiens.
## MIRNA search found 1 hits.
## Performing gProfiler HPA search of 910 against hsapiens.
## HPA search found 1 hits.
## Performing gProfiler CORUM search of 910 against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 910 against hsapiens.
## HP search found 0 hits.
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Error in if (is.null(mf_over) | nrow(mf_over) == 0) { :
## argument is of length zero
## Redirecting to simple_gprofiler2().
## If you wish to roll the bones with the previous function, try:
## simple_gprofiler_old().
## Performing gProfiler GO search of 983 against hsapiens.
## GO search found 392 hits.
## Performing gProfiler KEGG search of 983 against hsapiens.
## KEGG search found 0 hits.
## Performing gProfiler REAC search of 983 against hsapiens.
## REAC search found 0 hits.
## Performing gProfiler WP search of 983 against hsapiens.
## WP search found 1 hits.
## Performing gProfiler TF search of 983 against hsapiens.
## TF search found 217 hits.
## Performing gProfiler MIRNA search of 983 against hsapiens.
## MIRNA search found 1 hits.
## Performing gProfiler HPA search of 983 against hsapiens.
## HPA search found 7 hits.
## Performing gProfiler CORUM search of 983 against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 983 against hsapiens.
## HP search found 5 hits.
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Error in if (is.null(mf_over) | nrow(mf_over) == 0) { :
## argument is of length zero
## Redirecting to simple_gprofiler2().
## If you wish to roll the bones with the previous function, try:
## simple_gprofiler_old().
## Performing gProfiler GO search of 572 against hsapiens.
## GO search found 160 hits.
## Performing gProfiler KEGG search of 572 against hsapiens.
## KEGG search found 4 hits.
## Performing gProfiler REAC search of 572 against hsapiens.
## REAC search found 83 hits.
## Performing gProfiler WP search of 572 against hsapiens.
## WP search found 7 hits.
## Performing gProfiler TF search of 572 against hsapiens.
## TF search found 21 hits.
## Performing gProfiler MIRNA search of 572 against hsapiens.
## MIRNA search found 0 hits.
## Performing gProfiler HPA search of 572 against hsapiens.
## HPA search found 1 hits.
## Performing gProfiler CORUM search of 572 against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 572 against hsapiens.
## HP search found 0 hits.
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Error in if (is.null(mf_over) | nrow(mf_over) == 0) { :
## argument is of length zero
## Redirecting to simple_gprofiler2().
## If you wish to roll the bones with the previous function, try:
## simple_gprofiler_old().
## Performing gProfiler GO search of 644 against hsapiens.
## GO search found 586 hits.
## Performing gProfiler KEGG search of 644 against hsapiens.
## KEGG search found 8 hits.
## Performing gProfiler REAC search of 644 against hsapiens.
## REAC search found 5 hits.
## Performing gProfiler WP search of 644 against hsapiens.
## WP search found 0 hits.
## Performing gProfiler TF search of 644 against hsapiens.
## TF search found 152 hits.
## Performing gProfiler MIRNA search of 644 against hsapiens.
## MIRNA search found 1 hits.
## Performing gProfiler HPA search of 644 against hsapiens.
## HPA search found 11 hits.
## Performing gProfiler CORUM search of 644 against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 644 against hsapiens.
## HP search found 0 hits.
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Error in if (is.null(mf_over) | nrow(mf_over) == 0) { :
## argument is of length zero
## Redirecting to simple_gprofiler2().
## If you wish to roll the bones with the previous function, try:
## simple_gprofiler_old().
## Performing gProfiler GO search of 362 against hsapiens.
## GO search found 177 hits.
## Performing gProfiler KEGG search of 362 against hsapiens.
## KEGG search found 4 hits.
## Performing gProfiler REAC search of 362 against hsapiens.
## REAC search found 84 hits.
## Performing gProfiler WP search of 362 against hsapiens.
## WP search found 9 hits.
## Performing gProfiler TF search of 362 against hsapiens.
## TF search found 24 hits.
## Performing gProfiler MIRNA search of 362 against hsapiens.
## MIRNA search found 0 hits.
## Performing gProfiler HPA search of 362 against hsapiens.
## HPA search found 1 hits.
## Performing gProfiler CORUM search of 362 against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 362 against hsapiens.
## HP search found 0 hits.
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Error in if (is.null(mf_over) | nrow(mf_over) == 0) { :
## argument is of length zero
## Redirecting to simple_gprofiler2().
## If you wish to roll the bones with the previous function, try:
## simple_gprofiler_old().
## Performing gProfiler GO search of 503 against hsapiens.
## GO search found 449 hits.
## Performing gProfiler KEGG search of 503 against hsapiens.
## KEGG search found 4 hits.
## Performing gProfiler REAC search of 503 against hsapiens.
## REAC search found 3 hits.
## Performing gProfiler WP search of 503 against hsapiens.
## WP search found 1 hits.
## Performing gProfiler TF search of 503 against hsapiens.
## TF search found 30 hits.
## Performing gProfiler MIRNA search of 503 against hsapiens.
## MIRNA search found 3 hits.
## Performing gProfiler HPA search of 503 against hsapiens.
## HPA search found 6 hits.
## Performing gProfiler CORUM search of 503 against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 503 against hsapiens.
## HP search found 0 hits.
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Error in if (is.null(mf_over) | nrow(mf_over) == 0) { :
## argument is of length zero
tt <- simple_gprofiler2(hs_macrophage_sig$deseq$ups[[1]])
## Performing gProfiler GO search of 670 against hsapiens.
## GO search found 691 hits.
## Performing gProfiler KEGG search of 670 against hsapiens.
## KEGG search found 11 hits.
## Performing gProfiler REAC search of 670 against hsapiens.
## REAC search found 12 hits.
## Performing gProfiler WP search of 670 against hsapiens.
## WP search found 12 hits.
## Performing gProfiler TF search of 670 against hsapiens.
## TF search found 111 hits.
## Performing gProfiler MIRNA search of 670 against hsapiens.
## MIRNA search found 1 hits.
## Performing gProfiler HPA search of 670 against hsapiens.
## HPA search found 0 hits.
## Performing gProfiler CORUM search of 670 against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 670 against hsapiens.
## HP search found 0 hits.
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Warning in plot_gprofiler_pval(retlst): NAs introduced by coercion
## Error in if (is.null(mf_over) | nrow(mf_over) == 0) { :
## argument is of length zero
pp(file="images/z23_uninf_reactome_up.png", image=all_gp[["z23nosb_vs_uninf_up"]][["pvalue_plots"]][["reactome_plot_over"]], height=12, width=9)
## Error in all_gp[["z23nosb_vs_uninf_up"]][["pvalue_plots"]][["reactome_plot_over"]]: subscript out of bounds
all_gp[["z23nosb_vs_uninf_up"]][["pvalue_plots"]][["kegg_plot_over"]]
## Error in all_gp[["z23nosb_vs_uninf_up"]][["pvalue_plots"]][["kegg_plot_over"]]: subscript out of bounds
all_gp[["z23nosb_vs_uninf_up"]][["pvalue_plots"]][["mfp_plot_over"]]
## Error in all_gp[["z23nosb_vs_uninf_up"]][["pvalue_plots"]][["mfp_plot_over"]]: subscript out of bounds
all_gp[["z23nosb_vs_uninf_up"]][["pvalue_plots"]][["tf_plot_over"]]
## Error in all_gp[["z23nosb_vs_uninf_up"]][["pvalue_plots"]][["tf_plot_over"]]: subscript out of bounds
pp(file="images/z22_uninf_reactome_up.png", image=all_gp[["z22nosb_vs_uninf_up"]][["pvalue_plots"]][["reactome_plot_over"]], height=12, width=9)
## Error in all_gp[["z22nosb_vs_uninf_up"]][["pvalue_plots"]][["reactome_plot_over"]]: subscript out of bounds
all_gp[["z22nosb_vs_uninf_up"]][["pvalue_plots"]][["kegg_plot_over"]]
## Error in all_gp[["z22nosb_vs_uninf_up"]][["pvalue_plots"]][["kegg_plot_over"]]: subscript out of bounds
all_gp[["z22nosb_vs_uninf_up"]][["pvalue_plots"]][["mfp_plot_over"]]
## Error in all_gp[["z22nosb_vs_uninf_up"]][["pvalue_plots"]][["mfp_plot_over"]]: subscript out of bounds
all_gp[["z22nosb_vs_uninf_up"]][["pvalue_plots"]][["tf_plot_over"]]
## Error in all_gp[["z22nosb_vs_uninf_up"]][["pvalue_plots"]][["tf_plot_over"]]: subscript out of bounds
all_gp[["z23sb_vs_z22sb_up"]][["pvalue_plots"]][["reactome_plot_over"]]
## Error in all_gp[["z23sb_vs_z22sb_up"]][["pvalue_plots"]][["reactome_plot_over"]]: subscript out of bounds
all_gp[["z23sb_vs_z22sb_up"]][["pvalue_plots"]][["kegg_plot_over"]]
## Error in all_gp[["z23sb_vs_z22sb_up"]][["pvalue_plots"]][["kegg_plot_over"]]: subscript out of bounds
all_gp[["z23sb_vs_z22sb_up"]][["pvalue_plots"]][["mfp_plot_over"]]
## Error in all_gp[["z23sb_vs_z22sb_up"]][["pvalue_plots"]][["mfp_plot_over"]]: subscript out of bounds
all_gp[["z23sb_vs_z22sb_up"]][["pvalue_plots"]][["tf_plot_over"]]
## Error in all_gp[["z23sb_vs_z22sb_up"]][["pvalue_plots"]][["tf_plot_over"]]: subscript out of bounds
all_gp[["z23sb_vs_z22sb_down"]][["pvalue_plots"]][["reactome_plot_over"]]
## Error in all_gp[["z23sb_vs_z22sb_down"]][["pvalue_plots"]][["reactome_plot_over"]]: subscript out of bounds
all_gp[["z23sb_vs_z23nosb_up"]][["pvalue_plots"]][["reactome_plot_over"]]
## Error in all_gp[["z23sb_vs_z23nosb_up"]][["pvalue_plots"]][["reactome_plot_over"]]: subscript out of bounds
all_gp[["z23sb_vs_z23nosb_up"]][["pvalue_plots"]][["kegg_plot_over"]]
## Error in all_gp[["z23sb_vs_z23nosb_up"]][["pvalue_plots"]][["kegg_plot_over"]]: subscript out of bounds
all_gp[["z23sb_vs_z23nosb_up"]][["pvalue_plots"]][["mfp_plot_over"]]
## Error in all_gp[["z23sb_vs_z23nosb_up"]][["pvalue_plots"]][["mfp_plot_over"]]: subscript out of bounds
all_gp[["z23sb_vs_z23nosb_up"]][["pvalue_plots"]][["tf_plot_over"]]
## Error in all_gp[["z23sb_vs_z23nosb_up"]][["pvalue_plots"]][["tf_plot_over"]]: subscript out of bounds
all_gp[["z22sb_vs_z22nosb_up"]][["pvalue_plots"]][["reactome_plot_over"]]
## Error in all_gp[["z22sb_vs_z22nosb_up"]][["pvalue_plots"]][["reactome_plot_over"]]: subscript out of bounds
all_gp[["z22sb_vs_z22nosb_up"]][["pvalue_plots"]][["kegg_plot_over"]]
## Error in all_gp[["z22sb_vs_z22nosb_up"]][["pvalue_plots"]][["kegg_plot_over"]]: subscript out of bounds
all_gp[["z22sb_vs_z22nosb_up"]][["pvalue_plots"]][["mfp_plot_over"]]
## Error in all_gp[["z22sb_vs_z22nosb_up"]][["pvalue_plots"]][["mfp_plot_over"]]: subscript out of bounds
all_gp[["z22sb_vs_z22nosb_up"]][["pvalue_plots"]][["tf_plot_over"]]
## Error in all_gp[["z22sb_vs_z22nosb_up"]][["pvalue_plots"]][["tf_plot_over"]]: subscript out of bounds
up_goseq <- simple_goseq(up_genes, go_db=lp_go, length_db=lp_lengths)
## Found 11 go_db genes and 40 length_db genes out of 40.
## Testing that go categories are defined.
## Removing undefined categories.
## Gathering synonyms.
## Gathering category definitions.
## The score column is null, defaulting to score.
## Possible columns are:
## [1] "category" "over_represented_pvalue"
## [3] "under_represented_pvalue" "numDEInCat"
## [5] "numInCat" "term"
## [7] "ontology" "qvalue"
## The score column is null, defaulting to score.
## Possible columns are:
## [1] "category" "over_represented_pvalue"
## [3] "under_represented_pvalue" "numDEInCat"
## [5] "numInCat" "term"
## [7] "ontology" "qvalue"
## The score column is null, defaulting to score.
## Possible columns are:
## [1] "category" "over_represented_pvalue"
## [3] "under_represented_pvalue" "numDEInCat"
## [5] "numInCat" "term"
## [7] "ontology" "qvalue"
## View categories over represented in the 2.3 samples
up_goseq$pvalue_plots$bpp_plot_over

down_goseq <- simple_goseq(down_genes, go_db=lp_go, length_db=lp_lengths)
## Found 21 go_db genes and 75 length_db genes out of 75.
## Testing that go categories are defined.
## Removing undefined categories.
## Gathering synonyms.
## Gathering category definitions.
## The score column is null, defaulting to score.
## Possible columns are:
## [1] "category" "over_represented_pvalue"
## [3] "under_represented_pvalue" "numDEInCat"
## [5] "numInCat" "term"
## [7] "ontology" "qvalue"
## The score column is null, defaulting to score.
## Possible columns are:
## [1] "category" "over_represented_pvalue"
## [3] "under_represented_pvalue" "numDEInCat"
## [5] "numInCat" "term"
## [7] "ontology" "qvalue"
## The score column is null, defaulting to score.
## Possible columns are:
## [1] "category" "over_represented_pvalue"
## [3] "under_represented_pvalue" "numDEInCat"
## [5] "numInCat" "term"
## [7] "ontology" "qvalue"
## View categories over represented in the 2.2 samples
down_goseq$pvalue_plots$bpp_plot_over

LS0tCnRpdGxlOiAiTC4gcGFuYW1lbnNpcyAyMDIyMDk6IFRNUkMyIE1hY3JvcGhhZ2UgRGlmZmVyZW50aWFsIEV4cHJlc3Npb24uIgphdXRob3I6ICJhdGIgYWJlbGV3QGdtYWlsLmNvbSIKZGF0ZTogImByIFN5cy5EYXRlKClgIgpvdXRwdXQ6CiBodG1sX2RvY3VtZW50OgogIGNvZGVfZG93bmxvYWQ6IHRydWUKICBjb2RlX2ZvbGRpbmc6IHNob3cKICBmaWdfY2FwdGlvbjogdHJ1ZQogIGZpZ19oZWlnaHQ6IDcKICBmaWdfd2lkdGg6IDcKICBoaWdobGlnaHQ6IGRlZmF1bHQKICBrZWVwX21kOiBmYWxzZQogIG1vZGU6IHNlbGZjb250YWluZWQKICBudW1iZXJfc2VjdGlvbnM6IHRydWUKICBzZWxmX2NvbnRhaW5lZDogdHJ1ZQogIHRoZW1lOiByZWFkYWJsZQogIHRvYzogdHJ1ZQogIHRvY19mbG9hdDoKICAgY29sbGFwc2VkOiBmYWxzZQogICBzbW9vdGhfc2Nyb2xsOiBmYWxzZQotLS0KCjxzdHlsZT4KICBib2R5IC5tYWluLWNvbnRhaW5lciB7CiAgICBtYXgtd2lkdGg6IDE2MDBweDsKICB9Cjwvc3R5bGU+CgpgYGB7ciBvcHRpb25zLCBpbmNsdWRlID0gRkFMU0V9CmxpYnJhcnkoZ2dwbG90MikKbGlicmFyeShIZWF0cGx1cykKbGlicmFyeShocGdsdG9vbHMpCnR0IDwtIGRldnRvb2xzOjpsb2FkX2FsbCgifi9ocGdsdG9vbHMiKQprbml0cjo6b3B0c19rbml0JHNldChwcm9ncmVzcyA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgIHZlcmJvc2UgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICB3aWR0aCA9IDkwLAogICAgICAgICAgICAgICAgICAgICBlY2hvID0gVFJVRSkKa25pdHI6Om9wdHNfY2h1bmskc2V0KGVycm9yID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAgIGZpZy53aWR0aCA9IDgsCiAgICAgICAgICAgICAgICAgICAgICBmaWcuaGVpZ2h0ID0gOCwKICAgICAgICAgICAgICAgICAgICAgIGRwaSA9IDk2KQpvbGRfb3B0aW9ucyA8LSBvcHRpb25zKGRpZ2l0cyA9IDQsCiAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nc0FzRmFjdG9ycyA9IEZBTFNFLAogICAgICAgICAgICAgICAgICAgICAgIGtuaXRyLmR1cGxpY2F0ZS5sYWJlbCA9ICJhbGxvdyIpCmdncGxvdDI6OnRoZW1lX3NldChnZ3Bsb3QyOjp0aGVtZV9idyhiYXNlX3NpemUgPSAxMikpCnZlciA8LSAiMjAyMjA5IgpwcmV2aW91c19maWxlIDwtICIiCnJ1bmRhdGUgPC0gZm9ybWF0KFN5cy5EYXRlKCksIGZvcm1hdCA9ICIlWSVtJWQiKQoKIyMgdG1wIDwtIHRyeShzbShsb2FkbWUoZmlsZW5hbWUgPSBnc3ViKHBhdHRlcm4gPSAiXFwuUm1kIiwgcmVwbGFjZSA9ICJcXC5yZGFcXC54eiIsIHggPSBwcmV2aW91c19maWxlKSkpKQpybWRfZmlsZSA8LSBnbHVlOjpnbHVlKCJ0bXJjMl9tYWNyb3BoYWdlX3Zpc3VhbGl6YXRpb25fe3Zlcn0uUm1kIikKbG9hZGVkIDwtIGxvYWQoZmlsZT1nbHVlOjpnbHVlKCJyZGEvdG1yYzJfZGF0YV9zdHJ1Y3R1cmVzLXZ7dmVyfS5yZGEiKSkKc2F2ZWZpbGUgPC0gZ3N1YihwYXR0ZXJuID0gIlxcLlJtZCIsIHJlcGxhY2UgPSAiXFwucmRhXFwueHoiLCB4ID0gcm1kX2ZpbGUpCmBgYAoKIyBJbnRyb2R1Y3Rpb24KCkhhdmluZyBlc3RhYmxpc2hlZCB0aGF0IHRoZSBUTVJDMiBtYWNyb3BoYWdlIGRhdGEgbG9va3Mgcm9idXN0IGFuZAppbGx1c3RyYXRpdmUgb2YgYSBjb3VwbGUgb2YgaW50ZXJlc3RpbmcgcXVlc3Rpb25zLCBsZXQgdXMgcGVyZm9ybSBhCmNvdXBsZSBvZiBkaWZmZXJlbnRpYWwgYW5hbHlzZXMgb2YgaXQuCgojIyBIdW1hbiBkYXRhCgojIyMgUHJpbWFyeSBxdWVyaWVzCgpUaGVyZSBpcyBhIHNlcmllcyBvZiBpbml0aWFsIHF1ZXN0aW9ucyB3aGljaCBtYWtlIHNvbWUgaW50dWl0aXZlIHNlbnNlCnRvIG1lLCBidXQgdGhlc2UgZG8gbm90IG5lY2Vzc2FyaWx5IG1hdGNoIHRoZSBzZXQgb2YgcXVlc3Rpb25zIHdoaWNoCmFyZSBpbnR1aXRpdmUgZm9yIE9sZ2EuICBJIGFtIGhvcGluZyB0byBwdWxsIGJvdGggb2YgdGhlc2Ugc2V0cyBvZgpxdWVyaWVzIGluIG9uZS4KCkJlZm9yZSBleHRyYWN0aW5nIHRoZXNlIGdyb3VwcyBvZiBxdWVyaWVzLCBsZXQgdXMgaW52b2tlIHRoZQphbGxfcGFpcndpc2UoKSBmdW5jdGlvbiBhbmQgZ2V0IGFsbCBvZiB0aGUgbGlrZWx5IGNvbnRyYXN0cyBhbG9uZyB3aXRoCm9uZSBvciBtb3JlIGV4dHJhcyB0aGF0IG1pZ2h0IHByb3ZlIHVzZWZ1bCAodGhlICdleHRyYScgYXJndW1lbnQpLgoKYGBge3IgaHNfZGV9CmV4dHJhIDwtICJ6MjNkcnVnbm9kcnVnX3ZzX3oyMmRydWdub2RydWcgPSAoaW5mc2J6MjMgLSBpbmZ6MjMpIC0gKGluZnNiejIyIC0gaW5mejIyKSIKbmV3X2NvbmRpdGlvbnMgPC0gcGFzdGUwKHBEYXRhKGhzX21hY3JvcGhhZ2UpW1sibWFjcm9waGFnZXRyZWF0bWVudCJdXSwgIl8iLAogICAgICAgICAgICAgICAgICAgICAgICAgcERhdGEoaHNfbWFjcm9waGFnZSlbWyJtYWNyb3BoYWdlenltb2RlbWUiXV0pCmhzX21hY3JvcGhhZ2UgPC0gc2V0X2V4cHRfY29uZGl0aW9ucyhoc19tYWNyb3BoYWdlLCBmYWN0ID0gbmV3X2NvbmRpdGlvbnMpCgpoc19tYWNyb3BoYWdlX2RlIDwtIGFsbF9wYWlyd2lzZShoc19tYWNyb3BoYWdlLCBtb2RlbF9iYXRjaD0ic3Zhc2VxIiwgZmlsdGVyPVRSVUUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhX2NvbnRyYXN0cyA9IGV4dHJhKQpgYGAKCiMjIyMgUHJpbWFyeSBxdWVyeSBjb250cmFzdHMKClRoZSBmaW5hbCBjb250cmFzdCBpbiB0aGlzIGxpc3QgaXMgaW50ZXJlc3RpbmcgYmVjYXVzZSBpdCBkZXBlbmRzIG9uCnRoZSBleHRyYSBjb250cmFzdHMgYXBwbGllZCB0byB0aGUgYWxsX3BhaXJ3aXNlKCkgYWJvdmUuICBJbiBteSB3YXkgb2YKdGhpbmtpbmcsIHRoZSBwcmltYXJ5IGNvbXBhcmlzb25zIHRvIGNvbnNpZGVyIGFyZSBlaXRoZXIgY3Jvc3MtZHJ1ZyBvcgpjcm9zcy1zdHJhaW4sIGJ1dCBub3QgYm90aC4gIEhvd2V2ZXIgSSB0aGluayBpbiBhdCBsZWFzdCBhIGZldwppbnN0YW5jZXMgT2xnYSBpcyBpbnRlcmVzdGVkIGluIHN0cmFpbitkcnVnIC8gdW5pbmZlY3RlZCtub2RydWcuCgpgYGB7ciB0dW1yYzJfaHVtYW5fa2VlcGVyc30KdG1yYzJfaHVtYW5fa2VlcGVycyA8LSBsaXN0KAogICAgInoyM25vc2JfdnNfdW5pbmYiID0gYygiaW5mejIzIiwgInVuaW5mbm9uZSIpLAogICAgInoyMm5vc2JfdnNfdW5pbmYiID0gYygiaW5mejIyIiwgInVuaW5mbm9uZSIpLAogICAgInoyM25vc2JfdnNfejIybm9zYiIgPSBjKCJpbmZ6MjMiLCAiaW5mejIyIiksCiAgICAiejIzc2JfdnNfejIyc2IiID0gYygiaW5mc2J6MjMiLCAiaW5mc2J6MjIiKSwKICAgICJ6MjNzYl92c196MjNub3NiIiA9IGMoImluZnNiejIzIiwgImluZnoyMyIpLAogICAgInoyMnNiX3ZzX3oyMm5vc2IiID0gYygiaW5mc2J6MjIiLCAiaW5mejIyIiksCiAgICAiejIzc2JfdnNfc2IiID0gYygiaW5mejIzIiwgInVuaW5mc2Jub25lIiksCiAgICAiejIyc2JfdnNfc2IiID0gYygiaW5mejIyIiwgInVuaW5mc2Jub25lIiksCiAgICAiejIzc2JfdnNfdW5pbmYiID0gYygiaW5mc2J6MjMiLCAidW5pbmZub25lIiksCiAgICAiejIyc2JfdnNfdW5pbmYiID0gYygiaW5mc2J6MjIiLCAidW5pbmZub25lIiksCiAgICAic2JfdnNfdW5pbmYiID0gYygidW5pbmZzYm5vbmUiLCAidW5pbmZub25lIiksCiAgICAiZXh0cmEiID0gYygiejIzZHJ1Z25vZHJ1ZyIsICJ6MjJkcnVnbm9kcnVnIikpCmBgYAoKIyMjIyBXcml0ZSBjb250cmFzdCByZXN1bHRzCgpOb3cgbGV0IHVzIHdyaXRlIG91dCB0aGUgeGxzeCBmaWxlIGNvbnRhaW5pbmcgdGhlIGFib3ZlIGNvbnRyYXN0cy4KCmBgYHtyIG1ha2VfdGFibGVzX3RtcmMyfQpoc19tYWNyb3BoYWdlX3RhYmxlIDwtIGNvbWJpbmVfZGVfdGFibGVzKAogICAgaHNfbWFjcm9waGFnZV9kZSwKICAgIGtlZXBlcnMgPSB0bXJjMl9odW1hbl9rZWVwZXJzLAogICAgZXhjZWw9Z2x1ZTo6Z2x1ZSgiZXhjZWwvbWFjcm9waGFnZV9odW1hbl90YWJsZS12e3Zlcn0ueGxzeCIpKQpoc19tYWNyb3BoYWdlX3NpZyA8LSBleHRyYWN0X3NpZ25pZmljYW50X2dlbmVzKAogICAgaHNfbWFjcm9waGFnZV90YWJsZSwKICAgIGV4Y2VsPWdsdWU6OmdsdWUoImV4Y2VsL21hY3JvcGhhZ2VfaHVtYW5fc2lnLXZ7dmVyfS54bHN4IikpCmBgYAoKIyMjIyBQbG90IGNvbnRyYXN0cyBvZiBpbnRlcmVzdAoKT25lIHN1Z2dlc3Rpb24gSSByZWNlaXZlZCByZWNlbnRseSB3YXMgdG8gc2V0IHRoZSBheGVzIGZvciB0aGVzZQp2b2xjYW5vIHBsb3RzIHRvIGJlIHN0YXRpYyByYXRoZXIgdGhhbiBsZXQgZ2dwbG90IGNob29zZSBpdHMgb3duLiAgSQphbSBhc3N1bWluZyB0aGlzIGlzIG9ubHkgcmVsZXZhbnQgZm9yIHBhaXJzIG9mIGNvbnRyYXN0cywgYnV0IHRoYXQKbWlnaHQgbm90IGJlIHRydWUuCgpgYGB7ciBoc19tYWNyb3BoYWdlX3NpZ19nZW5lc18yMzIydnN1bmluZn0KejIzbm9zYl92c191bmluZl92b2xjYW5vIDwtIHBsb3Rfdm9sY2Fub19kZSgKICAgIHRhYmxlID0gaHNfbWFjcm9waGFnZV90YWJsZVtbImRhdGEiXV1bWyJ6MjNub3NiX3ZzX3VuaW5mIl1dLAogICAgZmNfY29sID0gImRlc2VxX2xvZ2ZjIiwgcF9jb2wgPSAiZGVzZXFfYWRqcCIsCiAgICBzaGFwZXNfYnlfc3RhdGUgPSBGQUxTRSwgY29sb3JfYnkgPSAiZmMiLCAgbGFiZWwgPSAxMCwgbGFiZWxfY29sdW1uID0gImhnbmNzeW1ib2wiKQpwbG90bHk6OmdncGxvdGx5KHoyM25vc2JfdnNfdW5pbmZfdm9sY2FubyRwbG90KQp6MjJub3NiX3ZzX3VuaW5mX3ZvbGNhbm8gPC0gcGxvdF92b2xjYW5vX2RlKAogICAgdGFibGUgPSBoc19tYWNyb3BoYWdlX3RhYmxlW1siZGF0YSJdXVtbInoyMm5vc2JfdnNfdW5pbmYiXV0sCiAgICBmY19jb2wgPSAiZGVzZXFfbG9nZmMiLCBwX2NvbCA9ICJkZXNlcV9hZGpwIiwKICAgIHNoYXBlc19ieV9zdGF0ZSA9IEZBTFNFLCBjb2xvcl9ieSA9ICJmYyIsICBsYWJlbCA9IDEwLCBsYWJlbF9jb2x1bW4gPSAiaGduY3N5bWJvbCIpCnBsb3RseTo6Z2dwbG90bHkoejIybm9zYl92c191bmluZl92b2xjYW5vJHBsb3QpCgpoc19tYWNyb3BoYWdlX3RhYmxlW1sicGxvdHMiXV1bWyJ6MjNub3NiX3ZzX3VuaW5mIl1dW1siZGVzZXFfdm9sX3Bsb3RzIl1dW1sicGxvdCJdXSArCiAgeGxpbSgtMTAsIDI1KSArCiAgeWxpbSgwLCA0MCkKaHNfbWFjcm9waGFnZV90YWJsZVtbInBsb3RzIl1dW1siejIybm9zYl92c191bmluZiJdXVtbImRlc2VxX3ZvbF9wbG90cyJdXVtbInBsb3QiXV0gKwogIHhsaW0oLTEwLCAyNSkgKwogIHlsaW0oMCwgNDApCmBgYAoKYGBge3IgejIyejIzX2NvbXBhcmlzb25fcGxvdHN9CnoyM25vc2JfdnNfejIybm9zYl92b2xjYW5vIDwtIHBsb3Rfdm9sY2Fub19kZSgKICAgIHRhYmxlID0gaHNfbWFjcm9waGFnZV90YWJsZVtbImRhdGEiXV1bWyJ6MjNub3NiX3ZzX3oyMm5vc2IiXV0sCiAgICBmY19jb2wgPSAiZGVzZXFfbG9nZmMiLCBwX2NvbCA9ICJkZXNlcV9hZGpwIiwKICAgIHNoYXBlc19ieV9zdGF0ZSA9IEZBTFNFLCBjb2xvcl9ieSA9ICJmYyIsICBsYWJlbCA9IDEwLCBsYWJlbF9jb2x1bW4gPSAiaGduY3N5bWJvbCIpCnBsb3RseTo6Z2dwbG90bHkoejIzbm9zYl92c196MjJub3NiX3ZvbGNhbm8kcGxvdCkKCnoyM3NiX3ZzX3oyMnNiX3ZvbGNhbm8gPC0gcGxvdF92b2xjYW5vX2RlKAogICAgdGFibGUgPSBoc19tYWNyb3BoYWdlX3RhYmxlW1siZGF0YSJdXVtbInoyM3NiX3ZzX3oyMnNiIl1dLAogICAgZmNfY29sID0gImRlc2VxX2xvZ2ZjIiwgcF9jb2wgPSAiZGVzZXFfYWRqcCIsCiAgICBzaGFwZXNfYnlfc3RhdGUgPSBGQUxTRSwgY29sb3JfYnkgPSAiZmMiLCAgbGFiZWwgPSAxMCwgbGFiZWxfY29sdW1uID0gImhnbmNzeW1ib2wiKQpwbG90bHk6OmdncGxvdGx5KHoyM3NiX3ZzX3oyMnNiX3ZvbGNhbm8kcGxvdCkKCmhzX21hY3JvcGhhZ2VfdGFibGVbWyJwbG90cyJdXVtbInoyM25vc2JfdnNfejIybm9zYiJdXVtbImRlc2VxX3ZvbF9wbG90cyJdXVtbInBsb3QiXV0gKwogIHhsaW0oLTEwLCAxMCkgKwogIHlsaW0oMCwgNjApCmhzX21hY3JvcGhhZ2VfdGFibGVbWyJwbG90cyJdXVtbInoyM3NiX3ZzX3oyMnNiIl1dW1siZGVzZXFfdm9sX3Bsb3RzIl1dW1sicGxvdCJdXSArCiAgeGxpbSgtMTAsIDEwKSArCiAgeWxpbSgwLCA2MCkKCnNoYXJlZCA8LSBWZW5uZXJhYmxlOjpWZW5uKGxpc3QoImRydWciID0gcm93bmFtZXMoaHNfbWFjcm9waGFnZV9zaWdbWyJkZXNlcSJdXVtbInVwcyJdXVtbInoyM3NiX3ZzX3oyMnNiIl1dKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibm9kcnVnIiA9IHJvd25hbWVzKGhzX21hY3JvcGhhZ2Vfc2lnW1siZGVzZXEiXV1bWyJ1cHMiXV1bWyJ6MjNub3NiX3ZzX3oyMm5vc2IiXV0pKSkKcHAoZmlsZT0iaW1hZ2VzL2RydWdfbm9kcnVnX3Zlbm5fdXAucG5nIikKVmVubmVyYWJsZTo6cGxvdChzaGFyZWQpCmRldi5vZmYoKQpWZW5uZXJhYmxlOjpwbG90KHNoYXJlZCkKCnNoYXJlZCA8LSBWZW5uZXJhYmxlOjpWZW5uKGxpc3QoImRydWciID0gcm93bmFtZXMoaHNfbWFjcm9waGFnZV9zaWdbWyJkZXNlcSJdXVtbImRvd25zIl1dW1siejIzc2JfdnNfejIyc2IiXV0pLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJub2RydWciID0gcm93bmFtZXMoaHNfbWFjcm9waGFnZV9zaWdbWyJkZXNlcSJdXVtbImRvd25zIl1dW1siejIzbm9zYl92c196MjJub3NiIl1dKSkpCnBwKGZpbGU9ImltYWdlcy9kcnVnX25vZHJ1Z192ZW5uX2Rvd24ucG5nIikKVmVubmVyYWJsZTo6cGxvdChzaGFyZWQpCmRldi5vZmYoKQpgYGAKCmBgYHtyIHoyM2RydWdfejIzbm9kcnVnX3oyMmRydWdfejIybm9kcnVnX3Bsb3RzfQpoc19tYWNyb3BoYWdlX3RhYmxlW1sicGxvdHMiXV1bWyJ6MjNzYl92c196MjNub3NiIl1dW1siZGVzZXFfdm9sX3Bsb3RzIl1dW1sicGxvdCJdXSArCiAgeGxpbSgtOCwgOCkgKwogIHlsaW0oMCwgMjEwKQpoc19tYWNyb3BoYWdlX3RhYmxlW1sicGxvdHMiXV1bWyJ6MjJzYl92c196MjJub3NiIl1dW1siZGVzZXFfdm9sX3Bsb3RzIl1dW1sicGxvdCJdXSArCiAgeGxpbSgtOCwgOCkgKwogIHlsaW0oMCwgMjEwKQoKaHNfbWFjcm9waGFnZV90YWJsZVtbInBsb3RzIl1dW1siejIzc2JfdnNfc2IiXV1bWyJkZXNlcV92b2xfcGxvdHMiXV1bWyJwbG90Il1dICsKICB4bGltKC0xMCwgMjgpICsKICB5bGltKDAsIDE0MCkKaHNfbWFjcm9waGFnZV90YWJsZVtbInBsb3RzIl1dW1siejIyc2JfdnNfc2IiXV1bWyJkZXNlcV92b2xfcGxvdHMiXV1bWyJwbG90Il1dICsKICB4bGltKC0xMCwgMjgpICsKICB5bGltKDAsIDE0MCkKCnNoYXJlZCA8LSBWZW5uZXJhYmxlOjpWZW5uKGxpc3QoInoyMyIgPSByb3duYW1lcyhoc19tYWNyb3BoYWdlX3NpZ1tbImRlc2VxIl1dW1sidXBzIl1dW1siejIzc2JfdnNfc2IiXV0pLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ6MjIiID0gcm93bmFtZXMoaHNfbWFjcm9waGFnZV9zaWdbWyJkZXNlcSJdXVtbInVwcyJdXVtbInoyMnNiX3ZzX3NiIl1dKSkpCnBwKGZpbGU9ImltYWdlcy96MjNfejIyX2RydWdfdmVubl91cC5wbmciKQpWZW5uZXJhYmxlOjpwbG90KHNoYXJlZCkKZGV2Lm9mZigpClZlbm5lcmFibGU6OnBsb3Qoc2hhcmVkKQoKc2hhcmVkIDwtIFZlbm5lcmFibGU6OlZlbm4obGlzdCgiejIzIiA9IHJvd25hbWVzKGhzX21hY3JvcGhhZ2Vfc2lnW1siZGVzZXEiXV1bWyJkb3ducyJdXVtbInoyM3NiX3ZzX3NiIl1dKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiejIyIiA9IHJvd25hbWVzKGhzX21hY3JvcGhhZ2Vfc2lnW1siZGVzZXEiXV1bWyJkb3ducyJdXVtbInoyMnNiX3ZzX3NiIl1dKSkpCnBwKGZpbGU9ImltYWdlcy96MjNfejIyX2RydWdfdmVubl9kb3duLnBuZyIpClZlbm5lcmFibGU6OnBsb3Qoc2hhcmVkKQpkZXYub2ZmKCkKVmVubmVyYWJsZTo6cGxvdChzaGFyZWQpCmBgYAoKIyMgUGFyYXNpdGUKCmBgYHtyIGxwX2RlfQpscF9tYWNyb3BoYWdlX2RlIDwtIGFsbF9wYWlyd2lzZShscF9tYWNyb3BoYWdlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlbF9iYXRjaD0ic3Zhc2VxIiwgZmlsdGVyPVRSVUUpCnRtcmMyX3BhcmFzaXRlX2tlZXBlcnMgPC0gbGlzdCgKICAgICJ6MjNub3NiX3ZzX3oyMm5vc2IiID0gYygiejIzIiwgInoyMiIpKQpscF9tYWNyb3BoYWdlX3RhYmxlIDwtIGNvbWJpbmVfZGVfdGFibGVzKAogIGxwX21hY3JvcGhhZ2VfZGUsIGtlZXBlcnMgPSB0bXJjMl9wYXJhc2l0ZV9rZWVwZXJzLAogIGV4Y2VsPWdsdWU6OmdsdWUoImV4Y2VsL21hY3JvcGhhZ2VfcGFyYXNpdGVfaW5mZWN0aW9uX2RlLXZ7dmVyfS54bHN4IikpCmxwX21hY3JvcGhhZ2Vfc2lnIDwtIGV4dHJhY3Rfc2lnbmlmaWNhbnRfZ2VuZXMoCiAgICBscF9tYWNyb3BoYWdlX3RhYmxlLAogICAgZXhjZWw9Z2x1ZTo6Z2x1ZSgiZXhjZWwvbWFjcm9waGFnZV9wYXJhc2l0ZV9zaWctdnt2ZXJ9Lnhsc3giKSkKCnBwKGZpbGU9ImltYWdlcy9scF9tYWNyb3BoYWdlX3oyM196MjIucG5nIiwgaW1hZ2U9bHBfbWFjcm9waGFnZV90YWJsZVtbInBsb3RzIl1dW1siejIzbm9zYl92c196MjJub3NiIl1dW1siZGVzZXFfdm9sX3Bsb3RzIl1dW1sicGxvdCJdXSkKCnVwX2dlbmVzIDwtIGxwX21hY3JvcGhhZ2Vfc2lnW1siZGVzZXEiXV1bWyJ1cHMiXV1bWzFdXQpkaW0odXBfZ2VuZXMpCmRvd25fZ2VuZXMgPC0gbHBfbWFjcm9waGFnZV9zaWdbWyJkZXNlcSJdXVtbImRvd25zIl1dW1sxXV0KZGltKGRvd25fZ2VuZXMpCmBgYAoKIyBPdmVyIHJlcHJlc2VudGF0aW9uIHNlYXJjaGVzCgpgYGB7ciBvdmVyX3JlcHJlc2VudF9kYXRhfQphbGxfZ3AgPC0gYWxsX2dwcm9maWxlcihoc19tYWNyb3BoYWdlX3NpZykKCnR0IDwtIHNpbXBsZV9ncHJvZmlsZXIyKGhzX21hY3JvcGhhZ2Vfc2lnJGRlc2VxJHVwc1tbMV1dKQoKcHAoZmlsZT0iaW1hZ2VzL3oyM191bmluZl9yZWFjdG9tZV91cC5wbmciLCBpbWFnZT1hbGxfZ3BbWyJ6MjNub3NiX3ZzX3VuaW5mX3VwIl1dW1sicHZhbHVlX3Bsb3RzIl1dW1sicmVhY3RvbWVfcGxvdF9vdmVyIl1dLCBoZWlnaHQ9MTIsIHdpZHRoPTkpCmFsbF9ncFtbInoyM25vc2JfdnNfdW5pbmZfdXAiXV1bWyJwdmFsdWVfcGxvdHMiXV1bWyJrZWdnX3Bsb3Rfb3ZlciJdXQphbGxfZ3BbWyJ6MjNub3NiX3ZzX3VuaW5mX3VwIl1dW1sicHZhbHVlX3Bsb3RzIl1dW1sibWZwX3Bsb3Rfb3ZlciJdXQphbGxfZ3BbWyJ6MjNub3NiX3ZzX3VuaW5mX3VwIl1dW1sicHZhbHVlX3Bsb3RzIl1dW1sidGZfcGxvdF9vdmVyIl1dCgpwcChmaWxlPSJpbWFnZXMvejIyX3VuaW5mX3JlYWN0b21lX3VwLnBuZyIsIGltYWdlPWFsbF9ncFtbInoyMm5vc2JfdnNfdW5pbmZfdXAiXV1bWyJwdmFsdWVfcGxvdHMiXV1bWyJyZWFjdG9tZV9wbG90X292ZXIiXV0sIGhlaWdodD0xMiwgd2lkdGg9OSkKYWxsX2dwW1siejIybm9zYl92c191bmluZl91cCJdXVtbInB2YWx1ZV9wbG90cyJdXVtbImtlZ2dfcGxvdF9vdmVyIl1dCmFsbF9ncFtbInoyMm5vc2JfdnNfdW5pbmZfdXAiXV1bWyJwdmFsdWVfcGxvdHMiXV1bWyJtZnBfcGxvdF9vdmVyIl1dCmFsbF9ncFtbInoyMm5vc2JfdnNfdW5pbmZfdXAiXV1bWyJwdmFsdWVfcGxvdHMiXV1bWyJ0Zl9wbG90X292ZXIiXV0KCmFsbF9ncFtbInoyM3NiX3ZzX3oyMnNiX3VwIl1dW1sicHZhbHVlX3Bsb3RzIl1dW1sicmVhY3RvbWVfcGxvdF9vdmVyIl1dCmFsbF9ncFtbInoyM3NiX3ZzX3oyMnNiX3VwIl1dW1sicHZhbHVlX3Bsb3RzIl1dW1sia2VnZ19wbG90X292ZXIiXV0KYWxsX2dwW1siejIzc2JfdnNfejIyc2JfdXAiXV1bWyJwdmFsdWVfcGxvdHMiXV1bWyJtZnBfcGxvdF9vdmVyIl1dCmFsbF9ncFtbInoyM3NiX3ZzX3oyMnNiX3VwIl1dW1sicHZhbHVlX3Bsb3RzIl1dW1sidGZfcGxvdF9vdmVyIl1dCgphbGxfZ3BbWyJ6MjNzYl92c196MjJzYl9kb3duIl1dW1sicHZhbHVlX3Bsb3RzIl1dW1sicmVhY3RvbWVfcGxvdF9vdmVyIl1dCgphbGxfZ3BbWyJ6MjNzYl92c196MjNub3NiX3VwIl1dW1sicHZhbHVlX3Bsb3RzIl1dW1sicmVhY3RvbWVfcGxvdF9vdmVyIl1dCmFsbF9ncFtbInoyM3NiX3ZzX3oyM25vc2JfdXAiXV1bWyJwdmFsdWVfcGxvdHMiXV1bWyJrZWdnX3Bsb3Rfb3ZlciJdXQphbGxfZ3BbWyJ6MjNzYl92c196MjNub3NiX3VwIl1dW1sicHZhbHVlX3Bsb3RzIl1dW1sibWZwX3Bsb3Rfb3ZlciJdXQphbGxfZ3BbWyJ6MjNzYl92c196MjNub3NiX3VwIl1dW1sicHZhbHVlX3Bsb3RzIl1dW1sidGZfcGxvdF9vdmVyIl1dCgphbGxfZ3BbWyJ6MjJzYl92c196MjJub3NiX3VwIl1dW1sicHZhbHVlX3Bsb3RzIl1dW1sicmVhY3RvbWVfcGxvdF9vdmVyIl1dCmFsbF9ncFtbInoyMnNiX3ZzX3oyMm5vc2JfdXAiXV1bWyJwdmFsdWVfcGxvdHMiXV1bWyJrZWdnX3Bsb3Rfb3ZlciJdXQphbGxfZ3BbWyJ6MjJzYl92c196MjJub3NiX3VwIl1dW1sicHZhbHVlX3Bsb3RzIl1dW1sibWZwX3Bsb3Rfb3ZlciJdXQphbGxfZ3BbWyJ6MjJzYl92c196MjJub3NiX3VwIl1dW1sicHZhbHVlX3Bsb3RzIl1dW1sidGZfcGxvdF9vdmVyIl1dCmBgYAoKYGBge3IgZ29zZXFfbHB9CnVwX2dvc2VxIDwtIHNpbXBsZV9nb3NlcSh1cF9nZW5lcywgZ29fZGI9bHBfZ28sIGxlbmd0aF9kYj1scF9sZW5ndGhzKQojIyBWaWV3IGNhdGVnb3JpZXMgb3ZlciByZXByZXNlbnRlZCBpbiB0aGUgMi4zIHNhbXBsZXMKdXBfZ29zZXEkcHZhbHVlX3Bsb3RzJGJwcF9wbG90X292ZXIKZG93bl9nb3NlcSA8LSBzaW1wbGVfZ29zZXEoZG93bl9nZW5lcywgZ29fZGI9bHBfZ28sIGxlbmd0aF9kYj1scF9sZW5ndGhzKQojIyBWaWV3IGNhdGVnb3JpZXMgb3ZlciByZXByZXNlbnRlZCBpbiB0aGUgMi4yIHNhbXBsZXMKZG93bl9nb3NlcSRwdmFsdWVfcGxvdHMkYnBwX3Bsb3Rfb3ZlcgpgYGAKCiMgR1NWQQoKYGBge3IgZ3N2YX0KaHNfaW5mZWN0ZWQgPC0gc3Vic2V0X2V4cHQoaHNfbWFjcm9waGFnZSwgc3Vic2V0PSJtYWNyb3BoYWdldHJlYXRtZW50IT0ndW5pbmYnIikgJT4lCiAgc3Vic2V0X2V4cHQoc3Vic2V0PSJtYWNyb3BoYWdldHJlYXRtZW50IT0ndW5pbmZfc2InIikKaHNfZ3N2YV9jMiA8LSBzaW1wbGVfZ3N2YShoc19pbmZlY3RlZCkKaHNfZ3N2YV9jNyA8LSBzaW1wbGVfZ3N2YShoc19pbmZlY3RlZCwgc2lnbmF0dXJlX2NhdGVnb3J5ID0gImM3IikKCmhzX2dzdmFfYzJfc2lnIDwtIGdldF9zaWdfZ3N2YV9jYXRlZ29yaWVzKGhzX2dzdmFfYzIsIGV4Y2VsID0gImV4Y2VsL2hzX21hY3JvcGhhZ2VfZ3N2YV9jMl9zaWcueGxzeCIpCmhzX2dzdmFfYzJfc2lnJHJhd19wbG90Cgpoc19nc3ZhX2M3X3NpZyA8LSBnZXRfc2lnX2dzdmFfY2F0ZWdvcmllcyhoc19nc3ZhX2M3LCBleGNlbCA9ICJleGNlbC9oc19tYWNyb3BoYWdlX2dzdmFfYzdfc2lnLnhsc3giKQpoc19nc3ZhX2M3X3NpZyRyYXdfcGxvdApgYGAKCiMgVHJ5IG91dCBhIG5ldyB0b29sCgpUd28gcmVhc29uczogTmFqaWIgbG92ZXMgaGltIHNvbWUgUENBLCB0aGlzIHVzZXMgd2lraXBhdGh3YXlzLCB3aGljaCBpcyBzb21ldGhpbmcgSSB0aGluayBpcyBuZWF0LgoKT2ssIEkgc3BlbnQgc29tZSB0aW1lIGxvb2tpbmcgdGhyb3VnaCB0aGUgY29kZSBhbmQgSSBoYXZlIHNvbWUKcHJvYmxlbXMgd2l0aCBzb21lIG9mIHRoZSBkZXNpZ24gZGVjaXNpb25zLgoKTW9zdCBpbXBvcnRhbnRseSwgaXQgcmVxdWlyZXMgYSBkYXRhLmZyYW1lKCkgd2hpY2ggaGFzIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgoKMS4gIE5vIHJvd25hbWVzLCBpbnN0ZWFkIGNvbHVtbiAjMSBpcyB0aGUgc2FtcGxlIElELgoyLiAgQ29sdW1ucyAyLW0gYXJlIHRoZSBjYXRlZ29yaWNhbC9zdXJ2aXZhbC9ldGMgbWV0cmljcy4KMy4gIENvbHVtbnMgbS1uIGFyZSAxIGdlbmUtcGVyLWNvbHVtbiB3aXRoIGxvZzIgdmFsdWVzLgoKQnV0IHdoZW4gSSB0aGluayBhYm91dCBpdCBJIHRoaW5rIEkgZ2V0IHRoZSBpZGVhLCB0aGV5IHdhbnQgdG8gYmUgYWJsZSB0byBkbyBtb2RlbGxpbmcgc3R1ZmYKbW9yZSBlYXNpbHkgd2l0aCByZXNwb25zZSBmYWN0b3JzLgoKYGBge3IgcGF0aHdheVBDQSwgZXZhbD1GQUxTRX0KbGlicmFyeShwYXRod2F5UENBKQpsaWJyYXJ5KHJXaWtpUGF0aHdheXMpCgpkb3dubG9hZGVkIDwtIGRvd25sb2FkUGF0aHdheUFyY2hpdmUob3JnYW5pc20gPSAiSG9tbyBzYXBpZW5zIiwgZm9ybWF0ID0gImdtdCIpCmRhdGFfcGF0aCA8LSBzeXN0ZW0uZmlsZSgiZXh0ZGF0YSIsIHBhY2thZ2U9InBhdGh3YXlQQ0EiKQp3aWtpcGF0aHdheXMgPC0gcmVhZF9nbXQocGFzdGUwKGRhdGFfcGF0aCwgIi93aWtpcGF0aHdheXNfaHVtYW5fc3ltYm9sLmdtdCIpLCBkZXNjcmlwdGlvbj1UUlVFKQoKZXhwdCA8LSBzdWJzZXRfZXhwdChoc19tYWNyb3BoYWdlLCBzdWJzZXQ9Im1hY3JvcGhhZ2V0cmVhdG1lbnQhPSd1bmluZiciKSAlPiUKICBzdWJzZXRfZXhwdChzdWJzZXQ9Im1hY3JvcGhhZ2V0cmVhdG1lbnQhPSd1bmluZl9zYiciKQpleHB0IDwtIHNldF9leHB0X2NvbmRpdGlvbnMoZXhwdCwgZmFjdD0ibWFjcm9waGFnZXp5bW9kZW1lIikKCnN5bWJvbF92ZWN0b3IgPC0gZkRhdGEoZXhwdClbW3N5bWJvbF9jb2x1bW5dXQpuYW1lcyhzeW1ib2xfdmVjdG9yKSA8LSByb3duYW1lcyhmRGF0YShleHB0KSkKc3ltYm9sX2RmIDwtIGFzLmRhdGEuZnJhbWUoc3ltYm9sX3ZlY3RvcikKCmFzc2F5X2RmIDwtIG1lcmdlKHN5bWJvbF9kZiwgYXMuZGF0YS5mcmFtZShleHBycyhleHB0KSksIGJ5ID0gInJvdy5uYW1lcyIpCmFzc2F5X2RmW1siUm93Lm5hbWVzIl1dIDwtIE5VTEwKcm93bmFtZXMoYXNzYXlfZGYpIDwtIG1ha2UubmFtZXMoYXNzYXlfZGZbWyJzeW1ib2xfdmVjdG9yIl1dLCB1bmlxdWUgPSBUUlVFKQphc3NheV9kZltbInN5bWJvbF92ZWN0b3IiXV0gPC0gTlVMTAphc3NheV9kZiA8LSBhcy5kYXRhLmZyYW1lKHQoYXNzYXlfZGYpKQphc3NheV9kZltbIlNhbXBsZUlEIl1dIDwtIHJvd25hbWVzKGFzc2F5X2RmKQphc3NheV9kZiA8LSBkcGx5cjo6c2VsZWN0KGFzc2F5X2RmLCAiU2FtcGxlSUQiLCBldmVyeXRoaW5nKCkpCgpmYWN0b3JfZGYgPC0gYXMuZGF0YS5mcmFtZShwRGF0YShleHB0KSkKZmFjdG9yX2RmW1siU2FtcGxlSUQiXV0gPC0gcm93bmFtZXMoZmFjdG9yX2RmKQpmYWN0b3JfZGYgPC0gZHBseXI6OnNlbGVjdChmYWN0b3JfZGYsICJTYW1wbGVJRCIsIGV2ZXJ5dGhpbmcoKSkKZmFjdG9yX2RmIDwtIGZhY3Rvcl9kZlssIGMoIlNhbXBsZUlEIiwgZmFjdG9ycyldCgp0dCA8LSBDcmVhdGVPbWljcygKICAgIGFzc2F5RGF0YV9kZiA9IGFzc2F5X2RmLAogICAgcGF0aHdheUNvbGxlY3Rpb25fbHMgPSB3aWtpcGF0aHdheXMsCiAgICByZXNwb25zZSA9IGZhY3Rvcl9kZiwKICAgIHJlc3BUeXBlID0gImNhdGVnb3JpY2FsIiwKICAgIG1pblBhdGhTaXplPTUpCgpzdXBlciA8LSBBRVNQQ0FfcFZhbHMoCiAgICBvYmplY3QgPSB0dCwKICAgIG51bVBDcyA9IDIsCiAgICBwYXJhbGxlbCA9IEZBTFNFLAogICAgbnVtQ29yZXMgPSA4LAogICAgbnVtUmVwcyA9IDIsCiAgICBhZGp1c3RtZW50ID0gIkJIIikKYGBgCgpgYGB7ciBzYXZlbWV9CmlmICghaXNUUlVFKGdldDAoInNraXBfbG9hZCIpKSkgewogIHBhbmRlcjo6cGFuZGVyKHNlc3Npb25JbmZvKCkpCiAgbWVzc2FnZShwYXN0ZTAoIlRoaXMgaXMgaHBnbHRvb2xzIGNvbW1pdDogIiwgZ2V0X2dpdF9jb21taXQoKSkpCiAgbWVzc2FnZShwYXN0ZTAoIlNhdmluZyB0byAiLCBzYXZlZmlsZSkpCiAgdG1wIDwtIHNtKHNhdmVtZShmaWxlbmFtZSA9IHNhdmVmaWxlKSkKfQpgYGAKCmBgYHtyIGxvYWRtZV9hZnRlciwgZXZhbCA9IEZBTFNFfQp0bXAgPC0gbG9hZG1lKGZpbGVuYW1lID0gc2F2ZWZpbGUpCmBgYAo=