workflowr  
 
Last updated:  2025-10-14
Checks:    2
  0
Knit directory: 
DigitalResearchSkillsNetwork/ 
 
This reproducible R Markdown 
analysis was created with workflowr  (version
1.7.1). The Checks  tab describes the reproducibility checks
that were applied when the results were created. The Past
versions  tab lists the development history.
 
 
Great! Since the R Markdown file has been committed to the Git
repository, you know the exact version of the code that produced these
results.
 
 
 
Great! You are using Git for version control. Tracking code development
and connecting the code version to the results is critical for
reproducibility.
The results in this page were generated with repository version
2d56bb9 .
See the Past versions  tab to see a history of the changes made
to the R Markdown and HTML files.
Note that you need to be careful to ensure that all relevant files for
the analysis have been committed to Git prior to generating the results
(you can use wflow_publish or
wflow_git_commit). workflowr only checks the R Markdown
file, but you know if there are other scripts or data files that it
depends on. Below is the status of the Git repository when the results
were generated:
Ignored files:
    Ignored:    .DS_Store
    Ignored:    .RData
    Ignored:    .Rhistory
    Ignored:    analysis/.DS_Store
    Ignored:    analysis/.RData
    Ignored:    analysis/.Rhistory
    Ignored:    analysis/adit/.DS_Store
    Ignored:    plots/
    Ignored:    raw/
    Ignored:    todo.R
Untracked files:
    Untracked:  analysis/0_test.Rmd
    Untracked:  analysis/x202504.Rmd
    Untracked:  analysis/x202505.Rmd
    Untracked:  analysis/x202505_Workshop (2).Rmd
    Untracked:  analysis/x202506.Rmd
    Untracked:  analysis/x202506_stats.Rmd
    Untracked:  analysis/x202506_tidyverse.Rmd
    Untracked:  analysis/x202507.Rmd
    Untracked:  analysis/x202508.Rmd
Unstaged changes:
    Deleted:    analysis/202504.Rmd
    Deleted:    analysis/202505.Rmd
    Deleted:    analysis/202505_Workshop.Rmd
    Deleted:    analysis/202506.Rmd
    Deleted:    analysis/202506_stats.Rmd
    Deleted:    analysis/202506_tidyverse.Rmd
    Deleted:    analysis/202507.Rmd
    Deleted:    analysis/202508.Rmd
    Modified:   workflow.R
 
Note that any generated files, e.g. HTML, png, CSS, etc., are not
included in this status report because it is ok for generated content to
have uncommitted changes.
 
 
 
 
 
 
These are the previous versions of the repository in which changes were
made to the R Markdown (analysis/0_resources.Rmd) and HTML
(docs/0_resources.html) files. If you’ve configured a
remote Git repository (see ?wflow_git_remote), click on the
hyperlinks in the table below to view the files as they were in that
past version.
File
 
Version
 
Author
 
Date
 
Message
 
 
 
Rmd
 
2d56bb9 
 
DrThomasOneil
 
2025-10-14
 
wflow_publish(c("analysis/0_resources.Rmd", "analysis/index.Rmd",
 
 
html
 
377b249 
 
DrThomasOneil
 
2025-09-05
 
Build site.
 
 
html
 
6f8a683 
 
DrThomasOneil
 
2025-09-04
 
Build site.
 
 
html
 
19f6841 
 
DrThomasOneil
 
2025-08-28
 
Build site.
 
 
Rmd
 
26c0703 
 
DrThomasOneil
 
2025-08-28
 
wflow_publish(c("analysis/0_resources.Rmd"))
 
 
html
 
0dd27e2 
 
DrThomasOneil
 
2025-08-13
 
Build site.
 
 
html
 
05dd2b2 
 
DrThomasOneil
 
2025-08-12
 
Build site.
 
 
html
 
5336148 
 
DrThomasOneil
 
2025-06-30
 
Build site.
 
 
html
 
80762c1 
 
DrThomasOneil
 
2025-05-23
 
Build site.
 
 
html
 
e794405 
 
DrThomasOneil
 
2025-05-15
 
Build site.
 
 
Rmd
 
b102ce1 
 
DrThomasOneil
 
2025-05-15
 
wflow_publish(files)
 
 
html
 
fb553e5 
 
DrThomasOneil
 
2025-05-14
 
Build site.
 
 
html
 
cff7923 
 
DrThomasOneil
 
2025-05-07
 
Build site.
 
 
Rmd
 
ff95f8f 
 
DrThomasOneil
 
2025-05-07
 
wflow_publish(files)
 
 
html
 
16a9613 
 
DrThomasOneil
 
2025-04-30
 
Build site.
 
 
html
 
862d6b6 
 
DrThomasOneil
 
2025-04-29
 
Build site.
 
 
html
 
938818e 
 
DrThomasOneil
 
2025-04-14
 
Build site.
 
 
html
 
ed690e6 
 
DrThomasOneil
 
2025-04-14
 
Build site.
 
 
html
 
cb886ef 
 
DrThomasOneil
 
2025-04-10
 
Build site.
 
 
html
 
f6c0433 
 
YuchenLi
 
2025-04-09
 
Build site.
 
 
html
 
8d78b0f 
 
YuchenLi
 
2025-04-09
 
Build site.
 
 
html
 
7421f69 
 
DrThomasOneil
 
2025-04-08
 
Build site.
 
 
html
 
f2d3385 
 
DrThomasOneil
 
2025-03-24
 
update
 
 
html
 
517dcf9 
 
DrThomasOneil
 
2025-03-24
 
Build site.
 
 
html
 
6a4432b 
 
DrThomasOneil
 
2025-03-24
 
Build site.
 
 
html
 
1f218f3 
 
DrThomasOneil
 
2025-03-24
 
Build site.
 
 
html
 
dca90e9 
 
DrThomasOneil
 
2025-03-24
 
Build site.
 
 
html
 
1d1c076 
 
DrThomasOneil
 
2025-03-24
 
Build site.
 
 
html
 
956ba9b 
 
DrThomasOneil
 
2025-03-24
 
Build site.
 
 
Rmd
 
6b72e34 
 
DrThomasOneil
 
2025-03-24
 
wflow_publish(c("analysis/*.Rmd"))
 
 
html
 
d600337 
 
DrThomasOneil
 
2025-03-18
 
Build site.
 
 
html
 
b537f69 
 
DrThomasOneil
 
2025-03-18
 
Build site.
 
 
html
 
b7982e9 
 
DrThomasOneil
 
2025-03-16
 
Build site.
 
 
html
 
fc5dd81 
 
DrThomasOneil
 
2025-03-16
 
Build site.
 
 
html
 
8e1c1a3 
 
DrThomasOneil
 
2025-03-16
 
Build site.
 
 
html
 
36dc5fc 
 
DrThomasOneil
 
2025-03-03
 
Build site.
 
 
html
 
49bb28c 
 
DrThomasOneil
 
2025-03-03
 
Build site.
 
 
html
 
8258922 
 
DrThomasOneil
 
2025-03-03
 
Build site.
 
 
html
 
71646a5 
 
DrThomasOneil
 
2025-02-27
 
Build site.
 
 
Rmd
 
c05aafe 
 
DrThomasOneil
 
2025-02-27
 
wflow_publish(c("analysis/*.Rmd"))
 
 
html
 
c7f5738 
 
DrThomasOneil
 
2025-02-24
 
Build site.
 
 
html
 
79d09b1 
 
DrThomasOneil
 
2025-02-24
 
Build site.
 
 
html
 
a5c9f2c 
 
DrThomasOneil
 
2025-02-24
 
Build site.
 
 
html
 
ca2c086 
 
DrThomasOneil
 
2025-02-24
 
Build site.
 
 
html
 
fca0503 
 
DrThomasOneil
 
2025-02-24
 
Build site.
 
 
html
 
af42fba 
 
DrThomasOneil
 
2025-02-24
 
Build site.
 
 
html
 
1aeefc7 
 
DrThomasOneil
 
2025-02-20
 
Build site.
 
 
html
 
5fe30de 
 
DrThomasOneil
 
2025-02-20
 
Build site.
 
 
html
 
5ef4f12 
 
DrThomasOneil
 
2025-02-11
 
Build site.
 
 
Rmd
 
4f9c6de 
 
DrThomasOneil
 
2025-02-11
 
update book
 
 
html
 
f48f4f0 
 
DrThomasOneil
 
2025-02-10
 
Build site.
 
 
html
 
3bfe847 
 
DrThomasOneil
 
2025-02-10
 
Build site.
 
 
html
 
b14f3b5 
 
DrThomasOneil
 
2025-02-10
 
Build site.
 
 
html
 
bfba3e0 
 
DrThomasOneil
 
2025-02-07
 
Build site.
 
 
Rmd
 
b7989a4 
 
DrThomasOneil
 
2025-02-07
 
wflow_publish(c("analysis/*.Rmd"))
 
 
html
 
f3d6f87 
 
DrThomasOneil
 
2025-02-04
 
Build site.
 
 
html
 
f654b8d 
 
DrThomasOneil
 
2025-02-04
 
Build site.
 
 
Rmd
 
e6ea78d 
 
DrThomasOneil
 
2025-02-04
 
wflow_publish(c("analysis/*.Rmd"))
 
 
html
 
4968925 
 
DrThomasOneil
 
2025-01-30
 
Build site.
 
 
Rmd
 
afccf59 
 
DrThomasOneil
 
2025-01-30
 
wflow_publish(c("analysis/*.Rmd"))
 
 
html
 
299ff3d 
 
DrThomasOneil
 
2025-01-28
 
Build site.
 
 
Rmd
 
272b312 
 
DrThomasOneil
 
2025-01-28
 
wflow_publish(c("analysis/*"))
 
 
html
 
023005d 
 
DrThomasOneil
 
2025-01-07
 
Build site.
 
 
html
 
c893d70 
 
DrThomasOneil
 
2025-01-06
 
Build site.
 
 
Rmd
 
8eec2ce 
 
DrThomasOneil
 
2025-01-06
 
Initial Deployment
 
 
html
 
660b0f8 
 
DrThomasOneil
 
2025-01-06
 
Build site.
 
 
html
 
2e79a1d 
 
DrThomasOneil
 
2025-01-06
 
Build site.
 
 
Rmd
 
451a21f 
 
DrThomasOneil
 
2025-01-06
 
Initial Deployment
 
 
 
 
 
 
 
 
 We’ll drop resources that we find
that might be useful to others.   
Coding and Single cell crash course  
From a single cell and spatial analysis course by Cold Spring Harbour
Laboratory, these resources are great for both total beginners to coding
and analysis to those starting to analyse their own data.
This is the Basics
of Linux/Shell and R  where you how to navigate through your Terminal
and the start of your R journey.
Processing
scRNA and Visium HD  can be daunting but this breaks down all the
steps you need to clean, cluster, and visualise your data, as well as
the theory behind it.
 
The purpose of the Sydney Precision Data Science Centre is to engage
in high quality and transformational multidisciplinary research and to
provide a research hub to all interdisciplinary researchers in
data-intensive science.
We generate innovative, fit-for-purpose applied analytical
methodologies that are critical to knowledge discovery through the deep
integration of various quantitative disciplines and research
paradigms.
Sign
up to the network  to receive emails on upcoming webinars and
events.
 
Computational Genomics with R is an exceptionally comprehensive
resource for biomedical bioinformatics. It covers a broad range of
topics—statistics, machine learning, sequencing data processing, and
more—while providing both code examples and clear explanations. Although
it may not be the most accessible starting point for wet-lab
researchers, it serves as an invaluable reference for deeper
explorations of bioinformatic analyses.
 
10X Analysis Resources  
10X Genomics are a unique company, in that they provide a
lot  of supporting materials. In the drop down below, we have listed
a series of resources that 10X have provided, including how-to videos
and tutorials.
Drop-down 
 
Xenium In situ 
Downloads and documentation 
Webinars and workshops 
 
Visium HD 
Downloads and documentation 
Webinars and workshops 
 
 
 
 
Stretchly  is an open-source app designed to
encourage healthy work habits by prompting regular short (30-second) and
long (20-minute) breaks. I’ve found it invaluable for maintaining focus
and preventing burnout. It’s highly customizable, allowing you to tailor
prompts to your needs.
 
roadmap.sh  provides structured learning pathways for
various tech-related skills, from Data Science to DevOps. The Data
Science and AI roadmap outlines essential topics such as mathematics,
statistics, and coding, along with curated free and paid learning
resources. These roadmaps are community-driven and frequently updated,
making them a great guide for self-paced learning.
 
LinkedIn Learning  offers a vast library of online
courses covering data analysis, programming (including R and Python),
statistics, research skills, and professional development. There is a
short R
for Data Science  course that is quite nice.
You should have access to LinkedIn Learning through your University
email. Otherwise, WIMR staff can apply for a license through WIMR.
 
Interactive R learning UI 
learnr  is a package that you
can install which provides a nice little UI if you want to practice
basicR skills and prefer some interactivity.
 
ggplot2 book 
ggplot2:Elegant
Graphics for Data Analysis  is a nice, comprehensive handbook for
graphing using ggplot2. It covers the basic layout, different graph
types, customizing elements such as colours, group overlays,
annotations, etc.
 
LS0tCnRpdGxlOiAiRXh0cmEgUmVzb3VyY2VzIgpvdXRwdXQ6CiAgd29ya2Zsb3dyOjp3Zmxvd19odG1sOgogICAgdG9jOiBubwotLS0KCjxkZXYgY2xhc3M9ImhpbnQtaW5mbyI+IAoqKldlJ2xsIGRyb3AgcmVzb3VyY2VzIHRoYXQgd2UgZmluZCB0aGF0IG1pZ2h0IGJlIHVzZWZ1bCB0byBvdGhlcnMuKioKPC9kZXY+CgojIyMgKipDb2RpbmcgYW5kIFNpbmdsZSBjZWxsIGNyYXNoIGNvdXJzZSoqCgpGcm9tIGEgc2luZ2xlIGNlbGwgYW5kIHNwYXRpYWwgYW5hbHlzaXMgY291cnNlIGJ5IENvbGQgU3ByaW5nIEhhcmJvdXIgTGFib3JhdG9yeSwgdGhlc2UgcmVzb3VyY2VzIGFyZSBncmVhdCBmb3IgYm90aCB0b3RhbCBiZWdpbm5lcnMgdG8gY29kaW5nIGFuZCBhbmFseXNpcyB0byB0aG9zZSBzdGFydGluZyB0byBhbmFseXNlIHRoZWlyIG93biBkYXRhLgoKVGhpcyBpcyB0aGUgW0Jhc2ljcyBvZiBMaW51eC9TaGVsbCBhbmQgUl0oaHR0cHM6Ly9naXRodWIuY29tL3dmbHlubnkvY3NobC1iaW9pbmYtY3Jhc2gtY291cnNlL3dpa2kpIHdoZXJlIHlvdSBob3cgdG8gbmF2aWdhdGUgdGhyb3VnaCB5b3VyIFRlcm1pbmFsIGFuZCB0aGUgc3RhcnQgb2YgeW91ciBSIGpvdXJuZXkuCgpbUHJvY2Vzc2luZyBzY1JOQSBhbmQgVmlzaXVtIEhEXShodHRwczovL2dpdGh1Yi5jb20vbmF2aW5sYWJjb2RlL0NTSExfd29ya3Nob3BzL3dpa2kpIGNhbiBiZSBkYXVudGluZyBidXQgdGhpcyBicmVha3MgZG93biBhbGwgdGhlIHN0ZXBzIHlvdSBuZWVkIHRvIGNsZWFuLCBjbHVzdGVyLCBhbmQgdmlzdWFsaXNlIHlvdXIgZGF0YSwgYXMgd2VsbCBhcyB0aGUgdGhlb3J5IGJlaGluZCBpdC4KCiMjIyBbU3lkbmV5IFByZWNpc2lvbiBEYXRhIFNjaWVuY2UgQ2VudHJlXShodHRwczovL3NwZHMuc3lkbmV5LmVkdS5hdS8pCgpUaGUgcHVycG9zZSBvZiB0aGUgU3lkbmV5IFByZWNpc2lvbiBEYXRhIFNjaWVuY2UgQ2VudHJlIGlzIHRvIGVuZ2FnZSBpbiBoaWdoIHF1YWxpdHkgYW5kIHRyYW5zZm9ybWF0aW9uYWwgbXVsdGlkaXNjaXBsaW5hcnkgcmVzZWFyY2ggYW5kIHRvIHByb3ZpZGUgYSByZXNlYXJjaCBodWIgdG8gYWxsIGludGVyZGlzY2lwbGluYXJ5IHJlc2VhcmNoZXJzIGluIGRhdGEtaW50ZW5zaXZlIHNjaWVuY2UuCgpXZSBnZW5lcmF0ZSBpbm5vdmF0aXZlLCBmaXQtZm9yLXB1cnBvc2UgYXBwbGllZCBhbmFseXRpY2FsIG1ldGhvZG9sb2dpZXMgdGhhdCBhcmUgY3JpdGljYWwgdG8ga25vd2xlZGdlIGRpc2NvdmVyeSB0aHJvdWdoIHRoZSBkZWVwIGludGVncmF0aW9uIG9mIHZhcmlvdXMgcXVhbnRpdGF0aXZlIGRpc2NpcGxpbmVzIGFuZCByZXNlYXJjaCBwYXJhZGlnbXMuCgpbU2lnbiB1cCB0byB0aGUgbmV0d29ya10oaHR0cHM6Ly9mb3Jtcy5vZmZpY2UuY29tL1BhZ2VzL1Jlc3BvbnNlUGFnZS5hc3B4P2lkPWZ1T3pnbkdCWFVpeEN6amE1LTBVcUt6cXVZYVp5eUZDa2puWUJsMkRpNGRVTmpoWVJsZENTVEZDVkVaVU4wVkpRMGM0VERsRVNrSkNSUzR1KSB0byByZWNlaXZlIGVtYWlscyBvbiB1cGNvbWluZyB3ZWJpbmFycyBhbmQgZXZlbnRzLiAKCiMjIyBbQ29tcHV0YXRpb25hbCBHZW5vbWljcyB3aXRoIFJdKGh0dHBzOi8vY29tcGdlbm9tci5naXRodWIuaW8vYm9vay8pCgpDb21wdXRhdGlvbmFsIEdlbm9taWNzIHdpdGggUiBpcyBhbiBleGNlcHRpb25hbGx5IGNvbXByZWhlbnNpdmUgcmVzb3VyY2UgZm9yIGJpb21lZGljYWwgYmlvaW5mb3JtYXRpY3MuIEl0IGNvdmVycyBhIGJyb2FkIHJhbmdlIG9mIHRvcGljc+KAlHN0YXRpc3RpY3MsIG1hY2hpbmUgbGVhcm5pbmcsIHNlcXVlbmNpbmcgZGF0YSBwcm9jZXNzaW5nLCBhbmQgbW9yZeKAlHdoaWxlIHByb3ZpZGluZyBib3RoIGNvZGUgZXhhbXBsZXMgYW5kIGNsZWFyIGV4cGxhbmF0aW9ucy4gQWx0aG91Z2ggaXQgbWF5IG5vdCBiZSB0aGUgbW9zdCBhY2Nlc3NpYmxlIHN0YXJ0aW5nIHBvaW50IGZvciB3ZXQtbGFiIHJlc2VhcmNoZXJzLCBpdCBzZXJ2ZXMgYXMgYW4gaW52YWx1YWJsZSByZWZlcmVuY2UgZm9yIGRlZXBlciBleHBsb3JhdGlvbnMgb2YgYmlvaW5mb3JtYXRpYyBhbmFseXNlcy4KCiMjIyAqKjEwWCBBbmFseXNpcyBSZXNvdXJjZXMqKgoKMTBYIEdlbm9taWNzIGFyZSBhIHVuaXF1ZSBjb21wYW55LCBpbiB0aGF0IHRoZXkgcHJvdmlkZSAqYSBsb3QqIG9mIHN1cHBvcnRpbmcgbWF0ZXJpYWxzLiBJbiB0aGUgZHJvcCBkb3duIGJlbG93LCB3ZSBoYXZlIGxpc3RlZCBhIHNlcmllcyBvZiByZXNvdXJjZXMgdGhhdCAxMFggaGF2ZSBwcm92aWRlZCwgaW5jbHVkaW5nIGhvdy10byB2aWRlb3MgYW5kIHR1dG9yaWFscy4gCgo8ZGV0YWlscz48c3VtbWFyeT4qKkRyb3AtZG93bioqPC9zdW1tYXJ5PjxkaXY+CgojIyMjIFhlbml1bSBJbiBzaXR1CgoqKkRvd25sb2FkcyBhbmQgZG9jdW1lbnRhdGlvbioqCgotIFtYZW5pdW0gQW5hbHlzaXMgT3ZlcnZpZXddKGh0dHBzOi8vdXJsLmF1Lm0ubWltZWNhc3Rwcm90ZWN0LmNvbS9zLzZzSnRDeG5nd09meFJ5SzN3c3ZoMWZ5cmI0UT9kb21haW49MTB4Z2Vub21pY3MuY29tKQoKLSBbWGVuaXVtIE9uYm9hcmQgQW5hbHlzaXNdKGh0dHBzOi8vdXJsLmF1Lm0ubWltZWNhc3Rwcm90ZWN0LmNvbS9zL3I3ODFDeW9qeFFUTDJnRVJrY1FpR2Z4SUVMYz9kb21haW49MTB4Z2Vub21pY3MuY29tKSwgW1hlbml1bSBSYW5nZXJdKGh0dHBzOi8vdXJsLmF1Lm0ubWltZWNhc3Rwcm90ZWN0LmNvbS9zLy1RMEJDenZreVZDNHczdkE5Q0tzWmY5dVRJcD9kb21haW49MTB4Z2Vub21pY3MuY29tKQoKLSBbWGVuaXVtIEV4cGxvcmVyXShodHRwczovL3VybC5hdS5tLm1pbWVjYXN0cHJvdGVjdC5jb20vcy9zUjRrQ0FOcGdqQ0VsZ016MkNRdGtmR3VRbGg/ZG9tYWluPTEweGdlbm9taWNzLmNvbSkKCioqV2ViaW5hcnMgYW5kIHdvcmtzaG9wcyoqCgotIFtEZW15c3RpZnlpbmcgc2luZ2xlLWNlbGwgYW5kIHNwYXRpYWwgc2VxdWVuY2luZyBkYXRhIGFuYWx5c2lzOiBUaGUgcGF0aCB0byBtYWtpbmcgYmlvbG9naWNhbCBkaXNjb3ZlcmllcyByb3V0aW5lXShodHRwczovL3VybC5hdS5tLm1pbWVjYXN0cHJvdGVjdC5jb20vcy81d0gxQ0JOcWpsQzhSMTNPQnMxdUdmMmV5OW8/ZG9tYWluPTEweGdlbm9taWNzLmNvbSkKCi0gW1hlbml1bTogU3BhdGlhbCBhbmFseXNpcyBvZiBsdW5nIGNhbmNlcnMgcmV2ZWFscyBoZXRlcm9nZW5laXR5IGluIHR1bW9yIG1pY3JvLWVudmlyb25tZW50c10oaHR0cHM6Ly91cmwuYXUubS5taW1lY2FzdHByb3RlY3QuY29tL3MvQ0RxaENEMXZscFQzSjFRazBmUkNtZmpJYWR5P2RvbWFpbj0xMHhnZW5vbWljcy5jb20pCgotIFtYZW5pdW0gdG8gdW5yYXZlbCB0dW1vci1pbW11bmUgbWljcm9lbnZpcm9ubWVudCBkdXJpbmcgbGVwdG9tZW5pbmdlYWwgbWV0YXN0YXNpc10oaHR0cHM6Ly91cmwuYXUubS5taW1lY2FzdHByb3RlY3QuY29tL3MvNkZRZ0NFOHdtcnRwMG1LTk1JeEYxZjd6WEZhP2RvbWFpbj0xMHhnZW5vbWljcy5jb20pCgotIFtYZW5pdW0gNWsgV2ViaW5hciAtIE11bHRpbW9kYWwgc3BhdGlhbCByZWNvbnN0cnVjdGlvbiBvZiBhdXRvaW1tdW5lIGRpc2Vhc2VzIHdpdGggNSwwMDAtZ2VuZSBhc3NheXNdKGh0dHBzOi8vdXJsLmF1Lm0ubWltZWNhc3Rwcm90ZWN0LmNvbS9zL1JQWF9DR3Ywb3lDQU9tb1FHU3JIUmZCSVF4aD9kb21haW49MTB4Z2Vub21pY3MuY29tKQoKIyMjIyBWaXNpdW0gSEQKCioqRG93bmxvYWRzIGFuZCBkb2N1bWVudGF0aW9uKioKCi0gW1Zpc2l1bSBBbmFseXNpcyBPdmVydmlld10oaHR0cHM6Ly91cmwuYXUubS5taW1lY2FzdHByb3RlY3QuY29tL3MvWVVKeENKeUJyR2ZLQVJQRDVIS0lLZnlmb2JGP2RvbWFpbj0xMHhnZW5vbWljcy5jb20pCgotIFtTcGFjZSBSYW5nZXJdKGh0dHBzOi8vdXJsLmF1Lm0ubWltZWNhc3Rwcm90ZWN0LmNvbS9zL2lCRmpDSzFEdktUNE1sMEdtQ2tTbWY1cEdhVz9kb21haW49MTB4Z2Vub21pY3MuY29tKQoKLSAqKkNsb3VkIEFuYWx5c2lzKioKCiAgLSBbQ2xvdWQgQW5hbHlzaXMgT3ZlcnZpZXddKGh0dHBzOi8vdXJsLmF1Lm0ubWltZWNhc3Rwcm90ZWN0LmNvbS9zL0hUTFhDTDdFd01mUXdBNVo0U1lUMGZ5eGdKVT9kb21haW49MTB4Z2Vub21pY3MuY29tKQoKICAtIFtDbG91ZCBBbmFseXNpcyBTdXBwb3J0IERvY3VtZW50YXRpb25dKGh0dHBzOi8vdXJsLmF1Lm0ubWltZWNhc3Rwcm90ZWN0LmNvbS9zL0RXWkdDTXdHeE90emtnR0FXSXFVV2Y4V2dYNj9kb21haW49MTB4Z2Vub21pY3MuY29tKQoKICAtIFtXYWxrdGhyb3VnaCBUdXRvcmlhbCAod2l0aCBzbWFsbCBkZW1vIGRhdGFzZXQpXShodHRwczovL3VybC5hdS5tLm1pbWVjYXN0cHJvdGVjdC5jb20vcy9VNDhzQ05MSnlRVWpQQTFHWFUzY1pmeThBS3M/ZG9tYWluPTEweGdlbm9taWNzLmNvbSkgCgotIFtMb3VwZSBCcm93c2VyXShodHRwczovL3VybC5hdS5tLm1pbWVjYXN0cHJvdGVjdC5jb20vcy9KUVdoQ09NS3pWVHZaSm95NEM5ZjRmR3MteUs/ZG9tYWluPTEweGdlbm9taWNzLmNvbSkKCiAgLSBbVHV0b3JpYWxzXShodHRwczovL3VybC5hdS5tLm1pbWVjYXN0cHJvdGVjdC5jb20vcy9DVlFqQ1A3TEFYZjNOT3FrTWZKaHBmeEV2U0w/ZG9tYWluPTEweGdlbm9taWNzLmNvbSkKCioqV2ViaW5hcnMgYW5kIHdvcmtzaG9wcyoqCgotIFtEaXNjb3ZlciBzcGF0aWFsIGluc2lnaHRzIHdpdGggaW50dWl0aXZlIGFuYWx5c2lzIHRvb2xzIGZvciBWaXNpdW0gSEQgZGF0YV0oaHR0cHM6Ly91cmwuYXUubS5taW1lY2FzdHByb3RlY3QuY29tL3MvSjdLQ0NRbk1CWmZvbDhteXJDbGl4ZkdRR1kwP2RvbWFpbj0xMHhnZW5vbWljcy5jb20pCgotIFtEYXRhLWRyaXZlbiBkaXNjb3Zlcnkgd2l0aCBWaXNpdW0gU3BhdGlhbCBHZW5lIEV4cHJlc3Npb24gZm9yIEZGUEVdKGh0dHBzOi8vdXJsLmF1Lm0ubWltZWNhc3Rwcm90ZWN0LmNvbS9zL2ZtX3BDUk9ORDJ1NTBKOHpCSFZzcWYxRTZnZT9kb21haW49MTB4Z2Vub21pY3MuY29tKQoKLSBbU3BhdGlhbCB0cmFuc2NyaXB0b21pY3MgZGF0YSBhbmFseXNpcyBpbiBQeXRob25dKGh0dHBzOi8vdXJsLmF1Lm0ubWltZWNhc3Rwcm90ZWN0LmNvbS9zLzA5UnBDVkFSS2dDZ2s3MVI5Zm90UmZFc3dEcj9kb21haW49Z2l0aHViLmNvbSkKCi0gW1Zpc2l1bSBIRCBCaW9pbmZvcm1hdGljcyBib290Y2FtcDogSGFuZHMtb24gVmlzaXVtIEhEIGRhdGEgdmlzdWFsaXphdGlvbl0oaHR0cHM6Ly91cmwuYXUubS5taW1lY2FzdHByb3RlY3QuY29tL3MvTWV5Z0NXTFZYa1VEWDJ2V0d1TXVWZm85Nm14P2RvbWFpbj0xMHhnZW5vbWljcy5jb20pCgo8L2Rpdj48L2RldGFpbHM+CgojIyMgW1N0cmV0Y2hseV0oaHR0cHM6Ly9ob3ZhbmNpay5uZXQvc3RyZXRjaGx5LykKCioqU3RyZXRjaGx5KiogaXMgYW4gb3Blbi1zb3VyY2UgYXBwIGRlc2lnbmVkIHRvIGVuY291cmFnZSBoZWFsdGh5IHdvcmsgaGFiaXRzIGJ5IHByb21wdGluZyByZWd1bGFyIHNob3J0ICgzMC1zZWNvbmQpIGFuZCBsb25nICgyMC1taW51dGUpIGJyZWFrcy4gSeKAmXZlIGZvdW5kIGl0IGludmFsdWFibGUgZm9yIG1haW50YWluaW5nIGZvY3VzIGFuZCBwcmV2ZW50aW5nIGJ1cm5vdXQuIEl04oCZcyBoaWdobHkgY3VzdG9taXphYmxlLCBhbGxvd2luZyB5b3UgdG8gdGFpbG9yIHByb21wdHMgdG8geW91ciBuZWVkcy4KCiMjIyBbcm9hZG1hcC5zaF0oaHR0cHM6Ly9yb2FkbWFwLnNoKQoKKipyb2FkbWFwLnNoKiogcHJvdmlkZXMgc3RydWN0dXJlZCBsZWFybmluZyBwYXRod2F5cyBmb3IgdmFyaW91cyB0ZWNoLXJlbGF0ZWQgc2tpbGxzLCBmcm9tIERhdGEgU2NpZW5jZSB0byBEZXZPcHMuIFRoZSBEYXRhIFNjaWVuY2UgYW5kIEFJIHJvYWRtYXAgb3V0bGluZXMgZXNzZW50aWFsIHRvcGljcyBzdWNoIGFzIG1hdGhlbWF0aWNzLCBzdGF0aXN0aWNzLCBhbmQgY29kaW5nLCBhbG9uZyB3aXRoIGN1cmF0ZWQgZnJlZSBhbmQgcGFpZCBsZWFybmluZyByZXNvdXJjZXMuIFRoZXNlIHJvYWRtYXBzIGFyZSBjb21tdW5pdHktZHJpdmVuIGFuZCBmcmVxdWVudGx5IHVwZGF0ZWQsIG1ha2luZyB0aGVtIGEgZ3JlYXQgZ3VpZGUgZm9yIHNlbGYtcGFjZWQgbGVhcm5pbmcuCgojIyMgW0xpbmtlZEluIExlYXJuaW5nXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vbGVhcm5pbmcvKQoKKipMaW5rZWRJbiBMZWFybmluZyoqIG9mZmVycyBhIHZhc3QgbGlicmFyeSBvZiBvbmxpbmUgY291cnNlcyBjb3ZlcmluZyBkYXRhIGFuYWx5c2lzLCBwcm9ncmFtbWluZyAoaW5jbHVkaW5nIFIgYW5kIFB5dGhvbiksIHN0YXRpc3RpY3MsIHJlc2VhcmNoIHNraWxscywgYW5kIHByb2Zlc3Npb25hbCBkZXZlbG9wbWVudC4gVGhlcmUgaXMgYSBzaG9ydCBbUiBmb3IgRGF0YSBTY2llbmNlXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vbGVhcm5pbmctbG9naW4vc2hhcmU/YWNjb3VudD0yMTk2MjA0JmZvcmNlQWNjb3VudD1mYWxzZSZyZWRpcmVjdD1odHRwcyUzQSUyRiUyRnd3dy5saW5rZWRpbi5jb20lMkZsZWFybmluZyUyRnItZm9yLWRhdGEtc2NpZW5jZS1hbmFseXNpcy1hbmQtdmlzdWFsaXphdGlvbiUzRnRyayUzRHNoYXJlX2VudF91cmwlMjZzaGFyZUlkJTNEZ1ZFQnJZMU5TcWVKUXFCYVF2ek9MUSUyNTNEJTI1M0QpIGNvdXJzZSB0aGF0IGlzIHF1aXRlIG5pY2UuIAoKWW91IHNob3VsZCBoYXZlIGFjY2VzcyB0byBMaW5rZWRJbiBMZWFybmluZyB0aHJvdWdoIHlvdXIgVW5pdmVyc2l0eSBlbWFpbC4gT3RoZXJ3aXNlLCBXSU1SIHN0YWZmIGNhbiBhcHBseSBmb3IgYSBsaWNlbnNlIHRocm91Z2ggV0lNUi4gCgojIyMgU3lkbmV5IEluZm9ybWF0aWNzIEh1YiAKClN5ZG5leSBJbmZvcm1hdGljcyBIdWIgb2ZmZXJzIFt0cmFpbmluZyB3b3Jrc2hvcHNdKGh0dHBzOi8vd3d3LnN5ZG5leS5lZHUuYXUvcmVzZWFyY2gvZmFjaWxpdGllcy9zeWRuZXktaW5mb3JtYXRpY3MtaHViL3dvcmtzaG9wcy1hbmQtdHJhaW5pbmcvdHJhaW5pbmctY2FsZW5kYXIuaHRtbCkgcmVndWxhcmx5IG9uIHJlc2VhcmNoIGRhdGEgbWFuYWdlbWVudCwgc3RhdGlzdGljYWwgbWV0aG9kcywgYW5kIGhpZ2gtcGVyZm9ybWFuY2UgY29tcHV0aW5nLiBUaGVzZSBhcmUgbW9yZSBnZW5lcmFsIG1ldGhvZHMgdGhhdCBub3Qgb25seSBhcHBseSB0byBiaW9tZWRpY2FsIHJlc2VhcmNoLCBidXQgbWF5IHByb3ZpZGUgaW5zcGlyYXRpb24gb3IgZ29vZCBmdW5kYW1lbnRhbCBrbm93bGVkZ2Ugb24gdGhlIGFuYWx5dGljYWwgbWV0aG9kcyB3ZSB1c2UuCgojIyMgSW50ZXJhY3RpdmUgUiBsZWFybmluZyBVSQoKW2xlYXJucl0ocnN0dWRpby5naXRodWIuaW8vbGVhcm5yKSBpcyBhIHBhY2thZ2UgdGhhdCB5b3UgY2FuIGluc3RhbGwgd2hpY2ggcHJvdmlkZXMgYSBuaWNlIGxpdHRsZSBVSSBpZiB5b3Ugd2FudCB0byBwcmFjdGljZSBiYXNpY1Igc2tpbGxzIGFuZCBwcmVmZXIgc29tZSBpbnRlcmFjdGl2aXR5LgoKIyMjIGdncGxvdDIgYm9vawoKW2dncGxvdDI6RWxlZ2FudCBHcmFwaGljcyBmb3IgRGF0YSBBbmFseXNpc10oaHR0cHM6Ly9nZ3Bsb3QyLWJvb2sub3JnL2ludHJvZHVjdGlvbikgaXMgYSBuaWNlLCBjb21wcmVoZW5zaXZlIGhhbmRib29rIGZvciBncmFwaGluZyB1c2luZyBnZ3Bsb3QyLiBJdCBjb3ZlcnMgdGhlIGJhc2ljIGxheW91dCwgZGlmZmVyZW50IGdyYXBoIHR5cGVzLCBjdXN0b21pemluZyBlbGVtZW50cyBzdWNoIGFzIGNvbG91cnMsIGdyb3VwIG92ZXJsYXlzLCBhbm5vdGF0aW9ucywgZXRjLiAKCg==