Exercise 1 - Customising simple plots
Plotting a baby’s growth rate.
read.delim("weight_chart.txt") -> weight.chart
weight.chart
We’re going to use a normal scatterplot to plot the two values against each other. We’ll add a bunch of customisation by modifying the parameters we pass.
plot(
weight.chart$Age,
weight.chart$Weight,
type="b",
pch=15,
cex=1.5,
lwd=2,
ylim=c(2,10),
xlab="Age (months)",
ylab="Weight (kg)",
main="Weigh gain during early infant development"
)
![](data:image/png;base64,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)
Now we can read in the feature counts data to plot a barplot of the counts for different types of features.
read.delim("feature_counts.txt") -> feature.counts
feature.counts
We’re going to draw a customised barplot from this data.
par(mar=c(5,12,4,2))
barplot(
feature.counts$Count,
horiz = TRUE,
xlab="Number of feature instances",
names.arg=feature.counts$Feature,
main="Number of different feature types found",
las=1
)
![](data:image/png;base64,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)
Finally we want to make a biased random dataset which we can plot out as a histogram.
hist.data <- c(rnorm(10000),rnorm(10000)+4)
hist(hist.data,breaks=60,main="Bimodal data")
![](data:image/png;base64,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)
Exercise 2 - Using colour
We want to plot out the male/female count data as a barplot and change the colour in different ways.
read.delim("male_female_counts.txt") -> male.female
male.female
Now we can plot this. The barplot just needs the count data, and we’ll specifically need to add the sample names as labels. We need to make the labels small so they all fit (we could also have turned the plot around the other way).
barplot(
male.female$Count,
names.arg = male.female$Sample,
cex.names = 0.5
)
![](data:image/png;base64,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)
To add a different colour to each point (which isn’t generally a great idea!) we can use the rainbow function to generate a set of colours. We simply need to tell the function how many colours to generate, which in this case is the number of rows in the data frame.
rainbow(nrow(male.female))
[1] "#FF0000FF" "#FF9900FF" "#CCFF00FF" "#33FF00FF" "#00FF66FF" "#00FFFFFF" "#0066FFFF"
[8] "#3300FFFF" "#CC00FFFF" "#FF0099FF"
We can then pass this vector as the col paramter when drawing the barplot.
barplot(
male.female$Count,
names.arg = male.female$Sample,
cex.names = 0.5,
col=rainbow(nrow(male.female))
)
![](data:image/png;base64,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)
Now we want to make the males and females different colours. We can’t just pass the Sample column as colour since all of the sample names are different (even though they contain Male and Female). In this specific case, because males and females alternate we can just pass a fixed 2 colour vector.
barplot(
male.female$Count,
names.arg = male.female$Sample,
cex.names = 0.5,
col=c("blue2","red2")
)
![](data:image/png;base64,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)
If we’d wanted a more generic solution then we’d need to use some of the text mainipulation techniques shown in the advanced R course, specifically we can remove the D1 etc from the start of each string to leave us with a Male/Female split which we can use as a colour directly.
substring(male.female$Sample,4)
[1] "Male" "Female" "Male" "Female" "Male" "Female" "Male" "Female" "Male" "Female"
barplot(
male.female$Count,
names.arg = male.female$Sample,
cex.names = 0.5,
col=as.factor(substring(male.female$Sample,4))
)
![](data:image/png;base64,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)
We next want to use this type of categorical colour definition to highlight specific points in a scatteprlot. We can start by reading in the data.
read.delim("up_down_expression.txt") -> up.down
up.down
You can see that the data to plot are the Condition1 and Condition2 columns, and the categories are in the State column.
We can start by doing a simple uncoloured plot.
plot(
up.down$Condition1,
up.down$Condition2,
pch=19
)
![](data:image/png;base64,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)
Now we can colour by the State column.
plot(
up.down$Condition1,
up.down$Condition2,
pch=19,
col=up.down$State
)
![](data:image/png;base64,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)
We can see that 3 different groups have been coloured, but we need to understand how. We can figure this out by looking at the levels of the state column and the colour vector contained in the current system palette.
palette()
[1] "black" "red" "green3" "blue" "cyan" "magenta" "yellow" "gray"
We can see that there is a direct mapping between the two vectors where down=black (position 1), unchanging=red and up=green. If we want to use our own colours then we need to set the palette to our colour choice in the order down,unchanging,up. In this case I’ve also added a legend so we can see which colour is which.
palette(c("blue2","grey","red2"))
plot(
up.down$Condition1,
up.down$Condition2,
pch=19,
col=up.down$State
)
legend("topleft",levels(up.down$State),fill=palette()[1:3])
![](data:image/png;base64,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)
Finally we are going to look at the use of quantitative colour. We’re going to use this to plot 3 variables on a single plot.
We can load the data first.
read.delim("expression_methylation.txt") -> expr.meth
expr.meth
We want to plot the promoter methylation against the gene methylation and colour by the expression. We can start by doing the uncoloured plot.
plot(
expr.meth$promoter.meth,
expr.meth$gene.meth,
pch=19
)
![](data:image/png;base64,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)
For the colouring we’re going to use a new function which has been provided to us. We can install this into the script first.
map.colours <- function (values,palette) {
range <- range(values)
proportion <- ((values-range[1])/(range[2]-range[1]))
index <- round ((length(palette)-1)*proportion)+1
return (palette[index])
}
This function will generate a vector of colours to match a quantitative vector we provide (the expression values in this case). We can then pass this as the colour vector to the plot and thereby colour the whole thing.
We need two pieces of data to run this - a vector of values (the expression column from our data frame), and a vector of colours in some kind of order from which to select.
To make our reference colour vector we’re going to make a colourRampPallete. This is a built in function for generating colour series.
ColourRampPalette needs a vector of reference colours and it will interpolte between these. In our plot we’re just going to run between grey and red.
The initial call to colorRampPalette returns us a function which can generate sets of colours.
colorRampPalette(c("grey","red2"))
function (n)
{
x <- ramp(seq.int(0, 1, length.out = n))
if (ncol(x) == 4L)
rgb(x[, 1L], x[, 2L], x[, 3L], x[, 4L], maxColorValue = 255)
else rgb(x[, 1L], x[, 2L], x[, 3L], maxColorValue = 255)
}
<bytecode: 0x00000000088e4a08>
<environment: 0x0000000008da55b0>
To generate the colour vector we need to then call this function, passing the number of colours to generate. We’ll make 100 colours this time.
colorRampPalette(c("grey","red2"))(100)
[1] "#BEBEBE" "#BEBCBC" "#BEBABA" "#BFB8B8" "#BFB6B6" "#C0B4B4" "#C0B2B2" "#C1B0B0" "#C1AEAE"
[10] "#C2ACAC" "#C2AAAA" "#C3A8A8" "#C3A6A6" "#C4A5A5" "#C4A3A3" "#C5A1A1" "#C59F9F" "#C69D9D"
[19] "#C69B9B" "#C79999" "#C79797" "#C89595" "#C89393" "#C99191" "#C98F8F" "#CA8E8E" "#CA8C8C"
[28] "#CB8A8A" "#CB8888" "#CC8686" "#CC8484" "#CD8282" "#CD8080" "#CE7E7E" "#CE7C7C" "#CE7A7A"
[37] "#CF7878" "#CF7676" "#D07575" "#D07373" "#D17171" "#D16F6F" "#D26D6D" "#D26B6B" "#D36969"
[46] "#D36767" "#D46565" "#D46363" "#D56161" "#D55F5F" "#D65E5E" "#D65C5C" "#D75A5A" "#D75858"
[55] "#D85656" "#D85454" "#D95252" "#D95050" "#DA4E4E" "#DA4C4C" "#DB4A4A" "#DB4848" "#DC4747"
[64] "#DC4545" "#DD4343" "#DD4141" "#DE3F3F" "#DE3D3D" "#DE3B3B" "#DF3939" "#DF3737" "#E03535"
[73] "#E03333" "#E13131" "#E12F2F" "#E22E2E" "#E22C2C" "#E32A2A" "#E32828" "#E42626" "#E42424"
[82] "#E52222" "#E52020" "#E61E1E" "#E61C1C" "#E71A1A" "#E71818" "#E81717" "#E81515" "#E91313"
[91] "#E91111" "#EA0F0F" "#EA0D0D" "#EB0B0B" "#EB0909" "#EC0707" "#EC0505" "#ED0303" "#ED0101"
[100] "#EE0000"
We’ve now got everything we need to call the map.colours function. This will generate a (large!) colour vector with all of the per-row colours we need for the plot.
head(custom.colours)
[1] "#D85656" "#DD4141" "#DE3D3D" "#D85454" "#DA4C4C" "#DF3737"
Finally,we can re-draw out plot using these custom colours to colour each point.
plot(
expr.meth$promoter.meth,
expr.meth$gene.meth,
pch=19,
col=custom.colours
)
![](data:image/png;base64,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)
Exercise 3 - Using overlays
We want to draw a line graph containing 3 lines for 3 different datasets. We’re going to do this using a base line plot for one of the datasets and then two overlays to add the other two.
read.delim("chromosome_position_data.txt") -> chr.pos
chr.pos
The 3 datasets we’re going to plot are WT, Mut1 and Mut2 and we’re going to plot them on the y axis agaist the position on the x axis.
We need to prepare a few things to make this work.
Firstly we need to get the full range of values in any of mut1, mut2 or wt so that we know we’ve got enough space on the y-axis to fit everything in.
max.value
[1] 68.15
We’re also going to use the RColourBrewer palette to provide the colours we’re going to use. We’ll take the first 3 colours in Set1.
library(RColorBrewer)
brewer.pal(3,"Set1") -> line.graph.colours
line.graph.colours
[1] "#E41A1C" "#377EB8" "#4DAF4A"
Now we can start to build the plot. We’ll start with the base plot which will be for the WT. Then we can add lines layers for the other two. Finally we’ll add a legend so we know what’s what.
plot(
chr.pos$Position,
chr.pos$WT,
type="l",
lwd=2,
col=line.graph.colours[1],
ylim=c(0,max.value),
las=1,
xlab="Chromosomal Position",
ylab="Value",
main="Values along a chromosome"
)
lines(chr.pos$Position,chr.pos$Mut1,lwd=2,col=line.graph.colours[2])
lines(chr.pos$Position,chr.pos$Mut2,lwd=2,col=line.graph.colours[3])
legend("topleft",c("WT","Mut1","Mut2"),fill=line.graph.colours)
![](data:image/png;base64,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)
In the brain/bodyweight data we want to plot a scatterplot of two sets of values, but we want to add to that some error bars using the arrows function, and some text labels.
read.delim("brain_bodyweight.txt") -> brain.body
brain.body
We can do a simple plot of the two weights to check that looks OK.
plot(
brain.body$Brainweight,
brain.body$Bodyweight,
pch=19
)
![](data:image/png;base64,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)
For the error bars we’re going to use the arrows function. The coordinates will be the weights plus and minus the SEMs. We’ll also use the brain/bodyweights to position the text labels.
plot(
brain.body$Brainweight,
brain.body$Bodyweight,
pch=19,
xlab="Brainweight",
ylab="Bodyweight"
)
# Brain SEM
arrows(
x0 = brain.body$Brainweight - brain.body$Brainweight.SEM,
y0 = brain.body$Bodyweight,
x1 = brain.body$Brainweight + brain.body$Brainweight.SEM,
y1 = brain.body$Bodyweight,
angle=90,
code = 3,
length=0.05
)
# Body SEM
arrows(
x0 = brain.body$Brainweight,
y0 = brain.body$Bodyweight - brain.body$Bodyweight.SEM,
x1 = brain.body$Brainweight,
y1 = brain.body$Bodyweight + brain.body$Bodyweight.SEM,
angle=90,
code = 3,
length=0.05
)
# Names
text(
brain.body$Brainweight,
brain.body$Bodyweight,
brain.body$Species,
pos = 1,
cex=0.5
)
![](data:image/png;base64,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fXaX6L7/5Qf7nbsccn6D/MqV1//35x99P+lSCLSVskDTN9Ni1HTXjk9v88Ey++wCtd/8aPMR1N3g/neBu036odr1030h0FZyy6Dx9XLUDNzIac3legTN2rXFMqgL9Ocvfs1uM/++lYugBNoX8x98P4NyCLQnJtUun+4NgTZq58vsyeuvjkAbRaBVEWijnrzM5zsR9+T1V0egjVq+zJcHWPbk9VdHoI1av8zNAzF68vqrI9BGdfJQ9bMi0EYxglZFoI1iGbQqAm0Ua/FVEWhpx5y/g+2gVRFoaQR6DgRa2uPy5bPvUSsCLa14CY9rPh14SYIItDSzsXbegZckiEBLY9v7ORBoaYyg50CgpR2/DBobU1z8OW7pXsMeEWhpR6/FJzdZmkFW6beji3afRcEDAi3tmO2gudW4aQNG0JMRaGknBuoOvyTQkxFo85IvHrJZ/P2UEbQEAj2DfCUpNpc3lmXQUxEopBEopBEopBFoKcXpD91X7iSy7oM1oGYQaCnFCWSzlZ/8JLLuw37JVvgmEGgpqxE0GzeD5MZ9MII2g0BLKU4g67a9z6L07d+zj38SaCMItJTiBLLFtnd3pm1G0KYQaCnFCWTdtvfZK3etgkFkA7bCN4FAIY1AIY1AIY1AIY1AIY1AIY1AIY1AtzAbn+EPgW5hlsdqSj/JniDQLczyaHfpJ9kTDQU6Hxfn29j51z/p956T2ehoJtDYBMUXdvVFpbs7M063JKSRQOfjdZbx1faL7Cq/9QQqpJFA09F6z7ONXXza8dazDKqDEXQL1uJ1NLUMujodURuXQdkOKqShtfh0VMzId4yf4u89gepgOyikESikESikESikESikEaizvsqBDV78wh1R7OEpoUCgGXvtztM9i5L3Npi9MmEyHETuvEv52bvdORnS0eAdp2XwgkAXxdnp3L8u0Di0wV3kLszhBs5loHE4HxOoFwS6cGnOx+4sS/kImv07yeb47rxL61n8/ZRLHHlCoItiFp+8d2NnEehdNqK68y4tL9CRn3ZpQqBeEKgTu12rrblcjqD5FWPM5c060HRkXhOoFwR6pLvI9zPoJwI9hl1thsK5ESikESikESikESikESikESikESikESikESikESikESikESikESikESikESikESikESikESikESikdT1Q/h+h5QgU0joeqPjlRHBQhwPlckdd0OFA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)
LS0tDQp0aXRsZTogIkNvcmUgUiBQbG90dGluZyBFeGVyY2lzZSBBbnN3ZXJzIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KDQpFeGVyY2lzZSAxIC0gQ3VzdG9taXNpbmcgc2ltcGxlIHBsb3RzDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNClBsb3R0aW5nIGEgYmFieSdzIGdyb3d0aCByYXRlLg0KDQpgYGB7cn0NCnJlYWQuZGVsaW0oIndlaWdodF9jaGFydC50eHQiKSAtPiB3ZWlnaHQuY2hhcnQNCg0Kd2VpZ2h0LmNoYXJ0DQpgYGANCg0KV2UncmUgZ29pbmcgdG8gdXNlIGEgbm9ybWFsIHNjYXR0ZXJwbG90IHRvIHBsb3QgdGhlIHR3byB2YWx1ZXMgYWdhaW5zdCBlYWNoIG90aGVyLiAgV2UnbGwgYWRkIGEgYnVuY2ggb2YgY3VzdG9taXNhdGlvbiBieSBtb2RpZnlpbmcgdGhlIHBhcmFtZXRlcnMgd2UgcGFzcy4NCg0KYGBge3J9DQpwbG90KA0KICB3ZWlnaHQuY2hhcnQkQWdlLA0KICB3ZWlnaHQuY2hhcnQkV2VpZ2h0LA0KICB0eXBlPSJiIiwNCiAgcGNoPTE1LA0KICBjZXg9MS41LA0KICBsd2Q9MiwNCiAgeWxpbT1jKDIsMTApLA0KICB4bGFiPSJBZ2UgKG1vbnRocykiLA0KICB5bGFiPSJXZWlnaHQgKGtnKSIsDQogIG1haW49IldlaWdoIGdhaW4gZHVyaW5nIGVhcmx5IGluZmFudCBkZXZlbG9wbWVudCINCikNCmBgYA0KDQoNCk5vdyB3ZSBjYW4gcmVhZCBpbiB0aGUgZmVhdHVyZSBjb3VudHMgZGF0YSB0byBwbG90IGEgYmFycGxvdCBvZiB0aGUgY291bnRzIGZvciBkaWZmZXJlbnQgdHlwZXMgb2YgZmVhdHVyZXMuDQoNCmBgYHtyfQ0KcmVhZC5kZWxpbSgiZmVhdHVyZV9jb3VudHMudHh0IikgLT4gZmVhdHVyZS5jb3VudHMNCg0KZmVhdHVyZS5jb3VudHMNCmBgYA0KDQoNCldlJ3JlIGdvaW5nIHRvIGRyYXcgYSBjdXN0b21pc2VkIGJhcnBsb3QgZnJvbSB0aGlzIGRhdGEuDQoNCmBgYHtyfQ0KcGFyKG1hcj1jKDUsMTIsNCwyKSkNCmJhcnBsb3QoDQogIGZlYXR1cmUuY291bnRzJENvdW50LA0KICBob3JpeiA9IFRSVUUsDQogIHhsYWI9Ik51bWJlciBvZiBmZWF0dXJlIGluc3RhbmNlcyIsDQogIG5hbWVzLmFyZz1mZWF0dXJlLmNvdW50cyRGZWF0dXJlLA0KICBtYWluPSJOdW1iZXIgb2YgZGlmZmVyZW50IGZlYXR1cmUgdHlwZXMgZm91bmQiLA0KICBsYXM9MQ0KICApDQpgYGANCg0KDQpGaW5hbGx5IHdlIHdhbnQgdG8gbWFrZSBhIGJpYXNlZCByYW5kb20gZGF0YXNldCB3aGljaCB3ZSBjYW4gcGxvdCBvdXQgYXMgYSBoaXN0b2dyYW0uDQoNCmBgYHtyfQ0KaGlzdC5kYXRhIDwtIGMocm5vcm0oMTAwMDApLHJub3JtKDEwMDAwKSs0KQ0KaGlzdChoaXN0LmRhdGEsYnJlYWtzPTYwLG1haW49IkJpbW9kYWwgZGF0YSIpDQpgYGANCg0KDQpFeGVyY2lzZSAyIC0gVXNpbmcgY29sb3VyDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCldlIHdhbnQgdG8gcGxvdCBvdXQgdGhlIG1hbGUvZmVtYWxlIGNvdW50IGRhdGEgYXMgYSBiYXJwbG90IGFuZCBjaGFuZ2UgdGhlIGNvbG91ciBpbiBkaWZmZXJlbnQgd2F5cy4NCg0KDQpgYGB7cn0NCnJlYWQuZGVsaW0oIm1hbGVfZmVtYWxlX2NvdW50cy50eHQiKSAtPiBtYWxlLmZlbWFsZQ0KDQptYWxlLmZlbWFsZQ0KYGBgDQoNCk5vdyB3ZSBjYW4gcGxvdCB0aGlzLiAgVGhlIGJhcnBsb3QganVzdCBuZWVkcyB0aGUgY291bnQgZGF0YSwgYW5kIHdlJ2xsIHNwZWNpZmljYWxseSBuZWVkIHRvIGFkZCB0aGUgc2FtcGxlIG5hbWVzIGFzIGxhYmVscy4gV2UgbmVlZCB0byBtYWtlIHRoZSBsYWJlbHMgc21hbGwgc28gdGhleSBhbGwgZml0ICh3ZSBjb3VsZCBhbHNvIGhhdmUgdHVybmVkIHRoZSBwbG90IGFyb3VuZCB0aGUgb3RoZXIgd2F5KS4NCg0KYGBge3J9DQpiYXJwbG90KA0KICBtYWxlLmZlbWFsZSRDb3VudCwNCiAgbmFtZXMuYXJnID0gbWFsZS5mZW1hbGUkU2FtcGxlLCANCiAgY2V4Lm5hbWVzID0gMC41DQopDQpgYGANCg0KVG8gYWRkIGEgZGlmZmVyZW50IGNvbG91ciB0byBlYWNoIHBvaW50ICh3aGljaCBpc24ndCBnZW5lcmFsbHkgYSBncmVhdCBpZGVhISkgd2UgY2FuIHVzZSB0aGUgcmFpbmJvdyBmdW5jdGlvbiB0byBnZW5lcmF0ZSBhIHNldCBvZiBjb2xvdXJzLiAgV2Ugc2ltcGx5IG5lZWQgdG8gdGVsbCB0aGUgZnVuY3Rpb24gaG93IG1hbnkgY29sb3VycyB0byBnZW5lcmF0ZSwgd2hpY2ggaW4gdGhpcyBjYXNlIGlzIHRoZSBudW1iZXIgb2Ygcm93cyBpbiB0aGUgZGF0YSBmcmFtZS4NCg0KYGBge3J9DQpyYWluYm93KG5yb3cobWFsZS5mZW1hbGUpKQ0KYGBgDQoNCldlIGNhbiB0aGVuIHBhc3MgdGhpcyB2ZWN0b3IgYXMgdGhlIGNvbCBwYXJhbXRlciB3aGVuIGRyYXdpbmcgdGhlIGJhcnBsb3QuDQoNCmBgYHtyfQ0KYmFycGxvdCgNCiAgbWFsZS5mZW1hbGUkQ291bnQsDQogIG5hbWVzLmFyZyA9IG1hbGUuZmVtYWxlJFNhbXBsZSwgDQogIGNleC5uYW1lcyA9IDAuNSwNCiAgY29sPXJhaW5ib3cobnJvdyhtYWxlLmZlbWFsZSkpDQopDQpgYGANCg0KTm93IHdlIHdhbnQgdG8gbWFrZSB0aGUgbWFsZXMgYW5kIGZlbWFsZXMgZGlmZmVyZW50IGNvbG91cnMuICBXZSBjYW4ndCBqdXN0IHBhc3MgdGhlIFNhbXBsZSBjb2x1bW4gYXMgY29sb3VyIHNpbmNlIGFsbCBvZiB0aGUgc2FtcGxlIG5hbWVzIGFyZSBkaWZmZXJlbnQgKGV2ZW4gdGhvdWdoIHRoZXkgY29udGFpbiBNYWxlIGFuZCBGZW1hbGUpLiAgSW4gdGhpcyBzcGVjaWZpYyBjYXNlLCBiZWNhdXNlIG1hbGVzIGFuZCBmZW1hbGVzIGFsdGVybmF0ZSB3ZSBjYW4ganVzdCBwYXNzIGEgZml4ZWQgMiBjb2xvdXIgdmVjdG9yLg0KDQpgYGB7cn0NCmJhcnBsb3QoDQogIG1hbGUuZmVtYWxlJENvdW50LA0KICBuYW1lcy5hcmcgPSBtYWxlLmZlbWFsZSRTYW1wbGUsIA0KICBjZXgubmFtZXMgPSAwLjUsDQogIGNvbD1jKCJibHVlMiIsInJlZDIiKQ0KKQ0KYGBgDQoNCklmIHdlJ2Qgd2FudGVkIGEgbW9yZSBnZW5lcmljIHNvbHV0aW9uIHRoZW4gd2UnZCBuZWVkIHRvIHVzZSBzb21lIG9mIHRoZSB0ZXh0IG1haW5pcHVsYXRpb24gdGVjaG5pcXVlcyBzaG93biBpbiB0aGUgYWR2YW5jZWQgUiBjb3Vyc2UsIHNwZWNpZmljYWxseSB3ZSBjYW4gcmVtb3ZlIHRoZSBEMSBldGMgZnJvbSB0aGUgc3RhcnQgb2YgZWFjaCBzdHJpbmcgdG8gbGVhdmUgdXMgd2l0aCBhIE1hbGUvRmVtYWxlIHNwbGl0IHdoaWNoIHdlIGNhbiB1c2UgYXMgYSBjb2xvdXIgZGlyZWN0bHkuDQoNCmBgYHtyfQ0Kc3Vic3RyaW5nKG1hbGUuZmVtYWxlJFNhbXBsZSw0KQ0KYGBgDQpgYGB7cn0NCmJhcnBsb3QoDQogIG1hbGUuZmVtYWxlJENvdW50LA0KICBuYW1lcy5hcmcgPSBtYWxlLmZlbWFsZSRTYW1wbGUsIA0KICBjZXgubmFtZXMgPSAwLjUsDQogIGNvbD1hcy5mYWN0b3Ioc3Vic3RyaW5nKG1hbGUuZmVtYWxlJFNhbXBsZSw0KSkNCikNCmBgYA0KDQoNCldlIG5leHQgd2FudCB0byB1c2UgdGhpcyB0eXBlIG9mIGNhdGVnb3JpY2FsIGNvbG91ciBkZWZpbml0aW9uIHRvIGhpZ2hsaWdodCBzcGVjaWZpYyBwb2ludHMgaW4gYSBzY2F0dGVwcmxvdC4gIFdlIGNhbiBzdGFydCBieSByZWFkaW5nIGluIHRoZSBkYXRhLg0KDQpgYGB7cn0NCnJlYWQuZGVsaW0oInVwX2Rvd25fZXhwcmVzc2lvbi50eHQiKSAtPiB1cC5kb3duDQoNCnVwLmRvd24NCmBgYA0KDQpZb3UgY2FuIHNlZSB0aGF0IHRoZSBkYXRhIHRvIHBsb3QgYXJlIHRoZSBDb25kaXRpb24xIGFuZCBDb25kaXRpb24yIGNvbHVtbnMsIGFuZCB0aGUgY2F0ZWdvcmllcyBhcmUgaW4gdGhlIFN0YXRlIGNvbHVtbi4NCg0KV2UgY2FuIHN0YXJ0IGJ5IGRvaW5nIGEgc2ltcGxlIHVuY29sb3VyZWQgcGxvdC4NCg0KYGBge3IgZmlnLmhlaWdodD03LCBmaWcud2lkdGg9N30NCnBsb3QoDQogIHVwLmRvd24kQ29uZGl0aW9uMSwNCiAgdXAuZG93biRDb25kaXRpb24yLA0KICBwY2g9MTkNCiAgKQ0KYGBgDQoNCg0KTm93IHdlIGNhbiBjb2xvdXIgYnkgdGhlIFN0YXRlIGNvbHVtbi4NCg0KYGBge3IgZmlnLmhlaWdodD03LCBmaWcud2lkdGg9N30NCnBsb3QoDQogIHVwLmRvd24kQ29uZGl0aW9uMSwNCiAgdXAuZG93biRDb25kaXRpb24yLA0KICBwY2g9MTksDQogIGNvbD11cC5kb3duJFN0YXRlDQogICkNCmBgYA0KDQpXZSBjYW4gc2VlIHRoYXQgMyBkaWZmZXJlbnQgZ3JvdXBzIGhhdmUgYmVlbiBjb2xvdXJlZCwgYnV0IHdlIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cuICBXZSBjYW4gZmlndXJlIHRoaXMgb3V0IGJ5IGxvb2tpbmcgYXQgdGhlIGxldmVscyBvZiB0aGUgc3RhdGUgY29sdW1uIGFuZCB0aGUgY29sb3VyIHZlY3RvciBjb250YWluZWQgaW4gdGhlIGN1cnJlbnQgc3lzdGVtIHBhbGV0dGUuDQoNCmBgYHtyfQ0KbGV2ZWxzKHVwLmRvd24kU3RhdGUpDQpwYWxldHRlKCkNCmBgYA0KDQpXZSBjYW4gc2VlIHRoYXQgdGhlcmUgaXMgYSBkaXJlY3QgbWFwcGluZyBiZXR3ZWVuIHRoZSB0d28gdmVjdG9ycyB3aGVyZSBkb3duPWJsYWNrIChwb3NpdGlvbiAxKSwgdW5jaGFuZ2luZz1yZWQgYW5kIHVwPWdyZWVuLiAgSWYgd2Ugd2FudCB0byB1c2Ugb3VyIG93biBjb2xvdXJzIHRoZW4gd2UgbmVlZCB0byBzZXQgdGhlIHBhbGV0dGUgdG8gb3VyIGNvbG91ciBjaG9pY2UgaW4gdGhlIG9yZGVyIGRvd24sdW5jaGFuZ2luZyx1cC4gIEluIHRoaXMgY2FzZSBJJ3ZlIGFsc28gYWRkZWQgYSBsZWdlbmQgc28gd2UgY2FuIHNlZSB3aGljaCBjb2xvdXIgaXMgd2hpY2guDQoNCmBgYHtyIGZpZy5oZWlnaHQ9NywgZmlnLndpZHRoPTd9DQpwYWxldHRlKGMoImJsdWUyIiwiZ3JleSIsInJlZDIiKSkNCg0KcGxvdCgNCiAgdXAuZG93biRDb25kaXRpb24xLA0KICB1cC5kb3duJENvbmRpdGlvbjIsDQogIHBjaD0xOSwNCiAgY29sPXVwLmRvd24kU3RhdGUNCiAgKQ0KDQpsZWdlbmQoInRvcGxlZnQiLGxldmVscyh1cC5kb3duJFN0YXRlKSxmaWxsPXBhbGV0dGUoKVsxOjNdKQ0KDQpgYGANCg0KRmluYWxseSB3ZSBhcmUgZ29pbmcgdG8gbG9vayBhdCB0aGUgdXNlIG9mIHF1YW50aXRhdGl2ZSBjb2xvdXIuICBXZSdyZSBnb2luZyB0byB1c2UgdGhpcyB0byBwbG90IDMgdmFyaWFibGVzIG9uIGEgc2luZ2xlIHBsb3QuDQoNCldlIGNhbiBsb2FkIHRoZSBkYXRhIGZpcnN0Lg0KDQoNCmBgYHtyfQ0KcmVhZC5kZWxpbSgiZXhwcmVzc2lvbl9tZXRoeWxhdGlvbi50eHQiKSAtPiBleHByLm1ldGgNCg0KZXhwci5tZXRoDQpgYGANCg0KV2Ugd2FudCB0byBwbG90IHRoZSBwcm9tb3RlciBtZXRoeWxhdGlvbiBhZ2FpbnN0IHRoZSBnZW5lIG1ldGh5bGF0aW9uIGFuZCBjb2xvdXIgYnkgdGhlIGV4cHJlc3Npb24uICBXZSBjYW4gc3RhcnQgYnkgZG9pbmcgdGhlIHVuY29sb3VyZWQgcGxvdC4NCg0KYGBge3IgZmlnLmhlaWdodD03LCBmaWcud2lkdGg9N30NCnBsb3QoDQogIGV4cHIubWV0aCRwcm9tb3Rlci5tZXRoLA0KICBleHByLm1ldGgkZ2VuZS5tZXRoLA0KICBwY2g9MTkNCiAgKQ0KDQpgYGANCg0KRm9yIHRoZSBjb2xvdXJpbmcgd2UncmUgZ29pbmcgdG8gdXNlIGEgbmV3IGZ1bmN0aW9uIHdoaWNoIGhhcyBiZWVuIHByb3ZpZGVkIHRvIHVzLiAgV2UgY2FuIGluc3RhbGwgdGhpcyBpbnRvIHRoZSBzY3JpcHQgZmlyc3QuDQoNCmBgYHtyfQ0KbWFwLmNvbG91cnMgPC0gZnVuY3Rpb24gKHZhbHVlcyxwYWxldHRlKSB7DQoNCiAgcmFuZ2UgPC0gcmFuZ2UodmFsdWVzKQ0KDQogIHByb3BvcnRpb24gPC0gKCh2YWx1ZXMtcmFuZ2VbMV0pLyhyYW5nZVsyXS1yYW5nZVsxXSkpDQogIGluZGV4IDwtIHJvdW5kICgobGVuZ3RoKHBhbGV0dGUpLTEpKnByb3BvcnRpb24pKzENCiAgcmV0dXJuIChwYWxldHRlW2luZGV4XSkNCn0NCmBgYA0KDQpUaGlzIGZ1bmN0aW9uIHdpbGwgZ2VuZXJhdGUgYSB2ZWN0b3Igb2YgY29sb3VycyB0byBtYXRjaCBhIHF1YW50aXRhdGl2ZSB2ZWN0b3Igd2UgcHJvdmlkZSAodGhlIGV4cHJlc3Npb24gdmFsdWVzIGluIHRoaXMgY2FzZSkuICBXZSBjYW4gdGhlbiBwYXNzIHRoaXMgYXMgdGhlIGNvbG91ciB2ZWN0b3IgdG8gdGhlIHBsb3QgYW5kIHRoZXJlYnkgY29sb3VyIHRoZSB3aG9sZSB0aGluZy4NCg0KV2UgbmVlZCB0d28gcGllY2VzIG9mIGRhdGEgdG8gcnVuIHRoaXMgLSBhIHZlY3RvciBvZiB2YWx1ZXMgKHRoZSBleHByZXNzaW9uIGNvbHVtbiBmcm9tIG91ciBkYXRhIGZyYW1lKSwgYW5kIGEgdmVjdG9yIG9mIGNvbG91cnMgaW4gc29tZSBraW5kIG9mIG9yZGVyIGZyb20gd2hpY2ggdG8gc2VsZWN0Lg0KDQpUbyBtYWtlIG91ciByZWZlcmVuY2UgY29sb3VyIHZlY3RvciB3ZSdyZSBnb2luZyB0byBtYWtlIGEgY29sb3VyUmFtcFBhbGxldGUuICBUaGlzIGlzIGEgYnVpbHQgaW4gZnVuY3Rpb24gZm9yIGdlbmVyYXRpbmcgY29sb3VyIHNlcmllcy4NCg0KQ29sb3VyUmFtcFBhbGV0dGUgbmVlZHMgYSB2ZWN0b3Igb2YgcmVmZXJlbmNlIGNvbG91cnMgYW5kIGl0IHdpbGwgaW50ZXJwb2x0ZSBiZXR3ZWVuIHRoZXNlLiAgSW4gb3VyIHBsb3Qgd2UncmUganVzdCBnb2luZyB0byBydW4gYmV0d2VlbiBncmV5IGFuZCByZWQuDQoNClRoZSBpbml0aWFsIGNhbGwgdG8gY29sb3JSYW1wUGFsZXR0ZSByZXR1cm5zIHVzIGEgZnVuY3Rpb24gd2hpY2ggY2FuIGdlbmVyYXRlIHNldHMgb2YgY29sb3Vycy4NCg0KYGBge3J9DQpjb2xvclJhbXBQYWxldHRlKGMoImdyZXkiLCJyZWQyIikpDQpgYGANCg0KVG8gZ2VuZXJhdGUgdGhlIGNvbG91ciB2ZWN0b3Igd2UgbmVlZCB0byB0aGVuIGNhbGwgdGhpcyBmdW5jdGlvbiwgcGFzc2luZyB0aGUgbnVtYmVyIG9mIGNvbG91cnMgdG8gZ2VuZXJhdGUuICBXZSdsbCBtYWtlIDEwMCBjb2xvdXJzIHRoaXMgdGltZS4NCg0KYGBge3J9DQpjb2xvclJhbXBQYWxldHRlKGMoImdyZXkiLCJyZWQyIikpKDEwMCkNCmBgYA0KDQpXZSd2ZSBub3cgZ290IGV2ZXJ5dGhpbmcgd2UgbmVlZCB0byBjYWxsIHRoZSBtYXAuY29sb3VycyBmdW5jdGlvbi4gIFRoaXMgd2lsbCBnZW5lcmF0ZSBhIChsYXJnZSEpIGNvbG91ciB2ZWN0b3Igd2l0aCBhbGwgb2YgdGhlIHBlci1yb3cgY29sb3VycyB3ZSBuZWVkIGZvciB0aGUgcGxvdC4NCg0KYGBge3J9DQptYXAuY29sb3VycyhleHByLm1ldGgkZXhwcmVzc2lvbixjb2xvclJhbXBQYWxldHRlKGMoImdyZXkiLCJyZWQyIikpKDEwMCkpIC0+IGN1c3RvbS5jb2xvdXJzDQoNCmhlYWQoY3VzdG9tLmNvbG91cnMpDQpgYGANCg0KRmluYWxseSx3ZSBjYW4gcmUtZHJhdyBvdXQgcGxvdCB1c2luZyB0aGVzZSBjdXN0b20gY29sb3VycyB0byBjb2xvdXIgZWFjaCBwb2ludC4NCg0KYGBge3IgZmlnLmhlaWdodD03LCBmaWcud2lkdGg9N30NCnBsb3QoDQogIGV4cHIubWV0aCRwcm9tb3Rlci5tZXRoLA0KICBleHByLm1ldGgkZ2VuZS5tZXRoLA0KICBwY2g9MTksDQogIGNvbD1jdXN0b20uY29sb3Vycw0KICApDQoNCmBgYA0KDQpFeGVyY2lzZSAzIC0gVXNpbmcgb3ZlcmxheXMNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpXZSB3YW50IHRvIGRyYXcgYSBsaW5lIGdyYXBoIGNvbnRhaW5pbmcgMyBsaW5lcyBmb3IgMyBkaWZmZXJlbnQgZGF0YXNldHMuICBXZSdyZSBnb2luZyB0byBkbyB0aGlzIHVzaW5nIGEgYmFzZSBsaW5lIHBsb3QgZm9yIG9uZSBvZiB0aGUgZGF0YXNldHMgYW5kIHRoZW4gdHdvIG92ZXJsYXlzIHRvIGFkZCB0aGUgb3RoZXIgdHdvLg0KDQpgYGB7cn0NCnJlYWQuZGVsaW0oImNocm9tb3NvbWVfcG9zaXRpb25fZGF0YS50eHQiKSAtPiBjaHIucG9zDQoNCmNoci5wb3MNCmBgYA0KDQpUaGUgMyBkYXRhc2V0cyB3ZSdyZSBnb2luZyB0byBwbG90IGFyZSBXVCwgTXV0MSBhbmQgTXV0MiBhbmQgd2UncmUgZ29pbmcgdG8gcGxvdCB0aGVtIG9uIHRoZSB5IGF4aXMgYWdhaXN0IHRoZSBwb3NpdGlvbiBvbiB0aGUgeCBheGlzLg0KDQpXZSBuZWVkIHRvIHByZXBhcmUgYSBmZXcgdGhpbmdzIHRvIG1ha2UgdGhpcyB3b3JrLg0KDQpGaXJzdGx5IHdlIG5lZWQgdG8gZ2V0IHRoZSBmdWxsIHJhbmdlIG9mIHZhbHVlcyBpbiBhbnkgb2YgbXV0MSwgbXV0MiBvciB3dCBzbyB0aGF0IHdlIGtub3cgd2UndmUgZ290IGVub3VnaCBzcGFjZSBvbiB0aGUgeS1heGlzIHRvIGZpdCBldmVyeXRoaW5nIGluLg0KDQoNCmBgYHtyfQ0KbWF4KGNoci5wb3NbLDI6NF0pIC0+IG1heC52YWx1ZQ0KbWF4LnZhbHVlDQpgYGANCg0KV2UncmUgYWxzbyBnb2luZyB0byB1c2UgdGhlIFJDb2xvdXJCcmV3ZXIgcGFsZXR0ZSB0byBwcm92aWRlIHRoZSBjb2xvdXJzIHdlJ3JlIGdvaW5nIHRvIHVzZS4gIFdlJ2xsIHRha2UgdGhlIGZpcnN0IDMgY29sb3VycyBpbiBTZXQxLg0KDQpgYGB7cn0NCmxpYnJhcnkoUkNvbG9yQnJld2VyKQ0KYnJld2VyLnBhbCgzLCJTZXQxIikgLT4gbGluZS5ncmFwaC5jb2xvdXJzDQpsaW5lLmdyYXBoLmNvbG91cnMNCmBgYA0KDQpOb3cgd2UgY2FuIHN0YXJ0IHRvIGJ1aWxkIHRoZSBwbG90LiAgV2UnbGwgc3RhcnQgd2l0aCB0aGUgYmFzZSBwbG90IHdoaWNoIHdpbGwgYmUgZm9yIHRoZSBXVC4gIFRoZW4gd2UgY2FuIGFkZCBsaW5lcyBsYXllcnMgZm9yIHRoZSBvdGhlciB0d28uICBGaW5hbGx5IHdlJ2xsIGFkZCBhIGxlZ2VuZCBzbyB3ZSBrbm93IHdoYXQncyB3aGF0Lg0KDQpgYGB7cn0NCnBsb3QoDQogIGNoci5wb3MkUG9zaXRpb24sDQogIGNoci5wb3MkV1QsDQogIHR5cGU9ImwiLA0KICBsd2Q9MiwNCiAgY29sPWxpbmUuZ3JhcGguY29sb3Vyc1sxXSwNCiAgeWxpbT1jKDAsbWF4LnZhbHVlKSwNCiAgbGFzPTEsDQogIHhsYWI9IkNocm9tb3NvbWFsIFBvc2l0aW9uIiwNCiAgeWxhYj0iVmFsdWUiLA0KICBtYWluPSJWYWx1ZXMgYWxvbmcgYSBjaHJvbW9zb21lIg0KKQ0KbGluZXMoY2hyLnBvcyRQb3NpdGlvbixjaHIucG9zJE11dDEsbHdkPTIsY29sPWxpbmUuZ3JhcGguY29sb3Vyc1syXSkNCmxpbmVzKGNoci5wb3MkUG9zaXRpb24sY2hyLnBvcyRNdXQyLGx3ZD0yLGNvbD1saW5lLmdyYXBoLmNvbG91cnNbM10pDQpsZWdlbmQoInRvcGxlZnQiLGMoIldUIiwiTXV0MSIsIk11dDIiKSxmaWxsPWxpbmUuZ3JhcGguY29sb3VycykNCmBgYA0KDQoNCkluIHRoZSBicmFpbi9ib2R5d2VpZ2h0IGRhdGEgd2Ugd2FudCB0byBwbG90IGEgc2NhdHRlcnBsb3Qgb2YgdHdvIHNldHMgb2YgdmFsdWVzLCBidXQgd2Ugd2FudCB0byBhZGQgdG8gdGhhdCBzb21lIGVycm9yIGJhcnMgdXNpbmcgdGhlIGFycm93cyBmdW5jdGlvbiwgYW5kIHNvbWUgdGV4dCBsYWJlbHMuDQoNCmBgYHtyfQ0KcmVhZC5kZWxpbSgiYnJhaW5fYm9keXdlaWdodC50eHQiKSAtPiBicmFpbi5ib2R5DQpicmFpbi5ib2R5DQpgYGANCg0KV2UgY2FuIGRvIGEgc2ltcGxlIHBsb3Qgb2YgdGhlIHR3byB3ZWlnaHRzIHRvIGNoZWNrIHRoYXQgbG9va3MgT0suDQoNCmBgYHtyIGZpZy5oZWlnaHQ9NywgZmlnLndpZHRoPTd9DQoNCnBsb3QoDQogIGJyYWluLmJvZHkkQnJhaW53ZWlnaHQsDQogIGJyYWluLmJvZHkkQm9keXdlaWdodCwNCiAgcGNoPTE5LA0KICB4bGFiPSJCcmFpbndlaWdodCIsDQogIHlsYWI9IkJvZHl3ZWlnaHQiDQogICkNCg0KDQpgYGANCg0KRm9yIHRoZSBlcnJvciBiYXJzIHdlJ3JlIGdvaW5nIHRvIHVzZSB0aGUgYXJyb3dzIGZ1bmN0aW9uLiAgVGhlIGNvb3JkaW5hdGVzIHdpbGwgYmUgdGhlIHdlaWdodHMgcGx1cyBhbmQgbWludXMgdGhlIFNFTXMuICBXZSdsbCBhbHNvIHVzZSB0aGUgYnJhaW4vYm9keXdlaWdodHMgdG8gcG9zaXRpb24gdGhlIHRleHQgbGFiZWxzLg0KDQoNCmBgYHtyIGZpZy5oZWlnaHQ9NywgZmlnLndpZHRoPTd9DQoNCnBsb3QoDQogIGJyYWluLmJvZHkkQnJhaW53ZWlnaHQsDQogIGJyYWluLmJvZHkkQm9keXdlaWdodCwNCiAgcGNoPTE5LA0KICB4bGFiPSJCcmFpbndlaWdodCIsDQogIHlsYWI9IkJvZHl3ZWlnaHQiDQogICkNCg0KIyBCcmFpbiBTRU0NCmFycm93cygNCiAgeDAgPSBicmFpbi5ib2R5JEJyYWlud2VpZ2h0IC0gYnJhaW4uYm9keSRCcmFpbndlaWdodC5TRU0sDQogIHkwID0gYnJhaW4uYm9keSRCb2R5d2VpZ2h0LA0KICB4MSA9IGJyYWluLmJvZHkkQnJhaW53ZWlnaHQgKyBicmFpbi5ib2R5JEJyYWlud2VpZ2h0LlNFTSwNCiAgeTEgPSBicmFpbi5ib2R5JEJvZHl3ZWlnaHQsDQogIGFuZ2xlPTkwLA0KICBjb2RlID0gMywNCiAgbGVuZ3RoPTAuMDUNCikNCg0KIyBCb2R5IFNFTQ0KYXJyb3dzKA0KICB4MCA9IGJyYWluLmJvZHkkQnJhaW53ZWlnaHQsDQogIHkwID0gYnJhaW4uYm9keSRCb2R5d2VpZ2h0IC0gYnJhaW4uYm9keSRCb2R5d2VpZ2h0LlNFTSwNCiAgeDEgPSBicmFpbi5ib2R5JEJyYWlud2VpZ2h0LA0KICB5MSA9IGJyYWluLmJvZHkkQm9keXdlaWdodCArIGJyYWluLmJvZHkkQm9keXdlaWdodC5TRU0sDQogIGFuZ2xlPTkwLA0KICBjb2RlID0gMywNCiAgbGVuZ3RoPTAuMDUNCikNCg0KIyBOYW1lcw0KdGV4dCgNCiAgYnJhaW4uYm9keSRCcmFpbndlaWdodCwNCiAgYnJhaW4uYm9keSRCb2R5d2VpZ2h0LA0KICBicmFpbi5ib2R5JFNwZWNpZXMsDQogIHBvcyA9IDEsDQogIGNleD0wLjUNCikNCg0KDQoNCg0KYGBgDQoNCg0KDQoNCg0KDQoNCg==