Functions allow you to compartmentalize your code, so you can use it again.
One of the most fundamentally valuable things with R
is that it is totally extensible by the user community. This is why there are literally thousands of packages available for
A Basic Function
A function is just a chunck of code, which is wrapped up in a block and given a variable name.
foo <- function() {
cat("bar")
}
foo()
bar
The amount of code within a function can be simple like the one above or quite complex. The boundaries of the code are defined by the curly brackets.
Variable Scope
When we make a function, there is a notion of a scope for variables, which defines where variables are visible from. By default, when you start R
you are given a Global Environment Scope that has all the variables and functions you’ve defined thus far. The image below is the one for this document at this stage of development.
When we work with functions, we encapsulate code within curly-brackets. This protects their scope. Her is an example. In this function, we:
- Print out the value of a variable
x
- Assign values to the variables
x
and z
- Print out the value of the variables
x
and z
.
foo <- function( ) {
x <- 12
z <- "bob"
cat("x =", x, "& z =", z ,"inside function.\n")
}
OK, so now let’s call this function.
foo()
x = 12 & z = bob inside function.
x <- 42
cat("x =", x, "before function.\n")
x = 42 before function.
foo()
x = 12 & z = bob inside function.
cat("x =", x, "after running function.\n")
x = 42 after running function.
NOTE: The value of x
was changed within the function but those changes were not reflected OUTSIDE of that function. The scope of the variable x
inside foo()
is local to that function and anything that follows its declaration within the curly brackets of the function. However, it is invisible outside the scope of that function. This is a ‘good thing©’ because if we had visibility of all the variables in all the functions then we would either a) quickly run out of variable names to keep them unique, or b) clobber all of our existing variables by writing over them and changing their values.
Also, notice that the variable z
that is assigned bob
in the function is also not visible in the global environment. What happens in the function, stays in the function.
ls()
[1] "foo" "x"
foo
x
Passing Variables.
While some functions do not take any input, most require some kind of data to work with or values to start using. These variables can are passed into the function code by including them within the function parentheses.
Any required variables are added within the function definition parentheses. These translate into the names of the variables used within the chunk.
Here is an example with one required variable, x
.
foo <- function( x ) {
print(x)
}
And it can be called by either naming the variable explicity or not.
foo( x = 23 )
[1] 23
foo( 42 )
[1] 42
However, if you require a variable to be passed and it is not given, it will result in an error.
foo()
Error in print(x): argument "x" is missing, with no default
You can get around this by making a default
value for the variable, which is specified in the function definition as follows:
foo <- function( x = "Dr Dyer is my favorite professor" ) {
print(x)
}
Then if the individual does not fill in
foo()
[1] "Dr Dyer is my favorite professor"
Retrieving Results from Functions
Similarly, many functions we write will return something to the user who is calling it. By default, a function that just does something like print some message or make some plot will return NULL
foo <- function( name = "Alice") {
cat(name, "is in the house.")
}
foo()
Alice is in the house.
But if I try to assign a variable the results of the function, I get NULL
as the value returned.
x <- foo()
Alice is in the house.
class(x)
[1] "NULL"
NULL
x
NULL
If you want to return something to the user, you need to be explicit and use the return()
function to pass back the variable.
foo <- function( name = "Alice") {
response <- paste( name, "is in the house.")
return( response )
}
who_is_in_the_house <- foo()
who_is_in_the_house
[1] "Alice is in the house."
Alice is in the house.
You can only return one item but it can be a list
a data.frame
or any other R
object.
Creating Functions
You can create functions for small things to be used in a single document or they can be larger more general functions that can be used all the time.
If you are going to be using a function in a single markdown document, define it in its own code chunk and then from that point down the document, it will be available to use (like we’ve done in this document).
However, if you are going to be calling a function from more than one sole Markdown document, it is probably good practice to put it in its own file. R script files contain ONLY code and this is where you should put it.
Make a new R Script file by selecting File -> New File -> R Script.
As an example, I made entered the code shown below into this script file and then saved it as summarize_levels.R
in the same directory as my project (this last part is important).
This code has a few sections to it. The top 9 rows are comments. These kinds of comments are denoted by a hashtag and a single quote. You do not need to have these comments in the file but when you start making a lot of function, each in their file, if you follow these instructions you can autogenerate the R help files so you (and others who may be using your code) can look at the help file.
- The first line has a brief description of what the script does.
- The next set of lines indicate Sections that can be put into the help file. These sections are denoted by an @-sign followed by a name (there are many more than the three used here).
- @description - A more robust description of what the function does.
- @param A listing of each parameter sent to the function and its description.
- @return What the function returns to the user.
- The function body where it is actually defined. Notice, I name the function and the script file the exact same so it is easy for you to know what is in each file.
Since the function is located in another file, we need to ask R
to load in the source of the code. This is done using the source()
function.
source("summarize_levels.R")
Do this once and it will load the function in the current Global Environment.
![](data:image/jpeg;base64,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)
Once you a few functions together, you can put them together into a library (left as an advanced topic).
LS0tCnRpdGxlOiAiRnVuY3Rpb25zIgphdXRob3I6ICJIb3cgdG8gbWFrZSBjb2RlIHdvcmsgZm9yIHlvdSIKb3V0cHV0OiAKICBodG1sX25vdGVib29rOgogICAgY3NzOiBbImh0dHBzOi8vZHllcmxhYi5naXRodWIuaW8vRU5WUy1MZWN0dXJlcy9jc3MvbmFycmF0aXZlX3N0eWxlLmNzcyJdCi0tLQoKYGBge3Igc3RhcnR1cCwgaW5jbHVkZT1GQUxTRX0KbGlicmFyeSgga25pdHIgKQpsaWJyYXJ5KCB0aWR5dmVyc2UgKQprbml0cjo6b3B0c19jaHVuayRzZXQoIHdhcm5pbmcgPSBGQUxTRSwgCiAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IEZBTFNFLAogICAgICAgICAgICAgICAgICAgICAgIGVycm9yID0gRkFMU0UgKQpvcHRpb25zKGRwbHlyLnN1bW1hcmlzZS5pbmZvcm09RikgCmdncGxvdDI6OnRoZW1lX3NldCggdGhlbWVfY2xhc3NpYyggYmFzZV9zaXplPTE4ICkgKQpgYGAKCj4gRnVuY3Rpb25zIGFsbG93IHlvdSB0byBjb21wYXJ0bWVudGFsaXplIHlvdXIgY29kZSwgc28geW91IGNhbiB1c2UgaXQgYWdhaW4uCgpPbmUgb2YgdGhlIG1vc3QgZnVuZGFtZW50YWxseSB2YWx1YWJsZSB0aGluZ3Mgd2l0aCBgUmAgaXMgdGhhdCBpdCBpcyB0b3RhbGx5IGV4dGVuc2libGUgYnkgdGhlIHVzZXIgY29tbXVuaXR5LiAgVGhpcyBpcyB3aHkgdGhlcmUgYXJlIGxpdGVyYWxseSB0aG91c2FuZHMgb2YgcGFja2FnZXMgYXZhaWxhYmxlIGZvciAKCgojIyBBIEJhc2ljIEZ1bmN0aW9uCgpBIGZ1bmN0aW9uIGlzIGp1c3QgYSBjaHVuY2sgb2YgY29kZSwgd2hpY2ggaXMgd3JhcHBlZCB1cCBpbiBhICpibG9jayogYW5kIGdpdmVuIGEgdmFyaWFibGUgbmFtZS4KCmBgYHtyfQpmb28gPC0gZnVuY3Rpb24oKSB7IAogIGNhdCgiYmFyIikKfQoKZm9vKCkKYGBgCgpUaGUgYW1vdW50IG9mIGNvZGUgd2l0aGluIGEgZnVuY3Rpb24gY2FuIGJlIHNpbXBsZSBsaWtlIHRoZSBvbmUgYWJvdmUgb3IgcXVpdGUgY29tcGxleC4gIFRoZSBib3VuZGFyaWVzIG9mIHRoZSBjb2RlIGFyZSBkZWZpbmVkIGJ5IHRoZSBjdXJseSBicmFja2V0cy4gCgoKIyMgVmFyaWFibGUgU2NvcGUKCldoZW4gd2UgbWFrZSBhIGZ1bmN0aW9uLCB0aGVyZSBpcyBhIG5vdGlvbiBvZiBhICpzY29wZSogZm9yIHZhcmlhYmxlcywgd2hpY2ggZGVmaW5lcyB3aGVyZSB2YXJpYWJsZXMgYXJlIHZpc2libGUgZnJvbS4gIEJ5IGRlZmF1bHQsIHdoZW4geW91IHN0YXJ0IGBSYCB5b3UgYXJlIGdpdmVuIGEgR2xvYmFsIEVudmlyb25tZW50IFNjb3BlIHRoYXQgaGFzIGFsbCB0aGUgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMgeW91J3ZlIGRlZmluZWQgdGh1cyBmYXIuICBUaGUgaW1hZ2UgYmVsb3cgaXMgdGhlIG9uZSBmb3IgdGhpcyBkb2N1bWVudCBhdCB0aGlzIHN0YWdlIG9mIGRldmVsb3BtZW50LgoKIVtGaWd1cmUgMTogTWFpbiBFbnZpcm9ubWVudCBpbiBSU3R1ZGlvXShodHRwczovL2xpdmUuc3RhdGljZmxpY2tyLmNvbS82NTUzNS81MDM5NTAxMjY5MV84ODQ0MTU4ZmU5X2NfZC5qcGcpIAoKV2hlbiB3ZSB3b3JrIHdpdGggZnVuY3Rpb25zLCB3ZSBlbmNhcHN1bGF0ZSBjb2RlIHdpdGhpbiBjdXJseS1icmFja2V0cy4gIFRoaXMgcHJvdGVjdHMgdGhlaXIgc2NvcGUuIEhlciBpcyBhbiBleGFtcGxlLiAgSW4gdGhpcyBmdW5jdGlvbiwgd2U6CgoxLiBQcmludCBvdXQgdGhlIHZhbHVlIG9mIGEgdmFyaWFibGUgYHhgICAKMi4gQXNzaWduIHZhbHVlcyB0byB0aGUgdmFyaWFibGVzIGB4YCBhbmQgYHpgCjMuIFByaW50IG91dCB0aGUgdmFsdWUgb2YgdGhlIHZhcmlhYmxlcyBgeGAgYW5kIGB6YC4KCmBgYHtyfQpmb28gPC0gZnVuY3Rpb24oICkgewogIHggPC0gMTIKICB6IDwtICJib2IiCiAgY2F0KCJ4ID0iLCB4LCAiJiB6ID0iLCB6ICwiaW5zaWRlIGZ1bmN0aW9uLlxuIikKfQpgYGAKCk9LLCBzbyBub3cgbGV0J3MgY2FsbCB0aGlzIGZ1bmN0aW9uLgoKYGBge3J9CmZvbygpCmBgYAoKCgpgYGB7cn0KeCA8LSA0MgpjYXQoInggPSIsIHgsICJiZWZvcmUgZnVuY3Rpb24uXG4iKQpmb28oKQpjYXQoInggPSIsIHgsICJhZnRlciBydW5uaW5nIGZ1bmN0aW9uLlxuIikKYGBgCgoqKk5PVEU6KiogVGhlIHZhbHVlIG9mIGB4YCB3YXMgY2hhbmdlZCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGJ1dCB0aG9zZSBjaGFuZ2VzIHdlcmUgbm90IHJlZmxlY3RlZCBPVVRTSURFIG9mIHRoYXQgZnVuY3Rpb24uICBUaGUgKnNjb3BlKiBvZiB0aGUgdmFyaWFibGUgYHhgIGluc2lkZSBgZm9vKClgIGlzIGxvY2FsIHRvIHRoYXQgZnVuY3Rpb24gYW5kIGFueXRoaW5nIHRoYXQgZm9sbG93cyBpdHMgZGVjbGFyYXRpb24gd2l0aGluIHRoZSBjdXJseSBicmFja2V0cyBvZiB0aGUgZnVuY3Rpb24uICBIb3dldmVyLCBpdCBpcyAqaW52aXNpYmxlKiBvdXRzaWRlIHRoZSBzY29wZSBvZiB0aGF0IGZ1bmN0aW9uLiAgVGhpcyBpcyBhICdnb29kIHRoaW5nPHN1cD4mY29weTs8L3N1cD4nIGJlY2F1c2UgaWYgd2UgaGFkIHZpc2liaWxpdHkgb2YgYWxsIHRoZSB2YXJpYWJsZXMgaW4gYWxsIHRoZSBmdW5jdGlvbnMgdGhlbiB3ZSB3b3VsZCBlaXRoZXIgYSkgcXVpY2tseSBydW4gb3V0IG9mIHZhcmlhYmxlIG5hbWVzIHRvIGtlZXAgdGhlbSB1bmlxdWUsIG9yIGIpIGNsb2JiZXIgYWxsIG9mIG91ciBleGlzdGluZyB2YXJpYWJsZXMgYnkgd3JpdGluZyBvdmVyIHRoZW0gYW5kIGNoYW5naW5nIHRoZWlyIHZhbHVlcy4KCkFsc28sIG5vdGljZSB0aGF0IHRoZSB2YXJpYWJsZSBgemAgdGhhdCBpcyBhc3NpZ25lZCBgYm9iYCBpbiB0aGUgZnVuY3Rpb24gaXMgYWxzbyBub3QgdmlzaWJsZSBpbiB0aGUgZ2xvYmFsIGVudmlyb25tZW50LiAgKldoYXQgaGFwcGVucyBpbiB0aGUgZnVuY3Rpb24sIHN0YXlzIDx1PmluPC91PiA8dT50aGU8L3U+IDx1PmZ1bmN0aW9uPC91PiouCgpgYGB7cn0KbHMoKQpgYGAKCgoKIyMgUGFzc2luZyBWYXJpYWJsZXMuCgpXaGlsZSBzb21lIGZ1bmN0aW9ucyBkbyBub3QgdGFrZSBhbnkgaW5wdXQsIG1vc3QgcmVxdWlyZSBzb21lIGtpbmQgb2YgZGF0YSB0byB3b3JrIHdpdGggb3IgdmFsdWVzIHRvIHN0YXJ0IHVzaW5nLiBUaGVzZSB2YXJpYWJsZXMgY2FuIGFyZSBwYXNzZWQgaW50byB0aGUgZnVuY3Rpb24gY29kZSBieSBpbmNsdWRpbmcgdGhlbSB3aXRoaW4gdGhlIGZ1bmN0aW9uIHBhcmVudGhlc2VzLgoKQW55IHJlcXVpcmVkIHZhcmlhYmxlcyBhcmUgYWRkZWQgd2l0aGluIHRoZSBmdW5jdGlvbiBkZWZpbml0aW9uIHBhcmVudGhlc2VzLiAgVGhlc2UgdHJhbnNsYXRlIGludG8gdGhlIG5hbWVzIG9mIHRoZSB2YXJpYWJsZXMgdXNlZCB3aXRoaW4gdGhlIGNodW5rLiAgCgpIZXJlIGlzIGFuIGV4YW1wbGUgd2l0aCBvbmUgcmVxdWlyZWQgdmFyaWFibGUsIGB4YC4KCgpgYGB7cn0KZm9vIDwtIGZ1bmN0aW9uKCB4ICkgewogIHByaW50KHgpCn0KYGBgCgpBbmQgaXQgY2FuIGJlIGNhbGxlZCBieSBlaXRoZXIgbmFtaW5nIHRoZSB2YXJpYWJsZSBleHBsaWNpdHkgb3Igbm90LgoKYGBge3J9CmZvbyggeCA9IDIzICkKZm9vKCA0MiApCmBgYAoKSG93ZXZlciwgaWYgeW91IHJlcXVpcmUgYSB2YXJpYWJsZSB0byBiZSBwYXNzZWQgYW5kIGl0IGlzIG5vdCBnaXZlbiwgaXQgd2lsbCByZXN1bHQgaW4gYW4gZXJyb3IuCgpgYGB7ciBlcnJvcj1UUlVFfQpmb28oKQpgYGAKCgpZb3UgY2FuIGdldCBhcm91bmQgdGhpcyBieSBtYWtpbmcgYSBgZGVmYXVsdGAgdmFsdWUgZm9yIHRoZSB2YXJpYWJsZSwgd2hpY2ggaXMgc3BlY2lmaWVkIGluIHRoZSBmdW5jdGlvbiBkZWZpbml0aW9uIGFzIGZvbGxvd3M6CgpgYGB7cn0KZm9vIDwtIGZ1bmN0aW9uKCB4ID0gIkRyIER5ZXIgaXMgbXkgZmF2b3JpdGUgcHJvZmVzc29yIiApIHsKICBwcmludCh4KQp9CmBgYAoKVGhlbiBpZiB0aGUgaW5kaXZpZHVhbCBkb2VzIG5vdCBmaWxsIGluCgpgYGB7cn0KZm9vKCkKYGBgCgojIyBSZXRyaWV2aW5nIFJlc3VsdHMgZnJvbSBGdW5jdGlvbnMKClNpbWlsYXJseSwgbWFueSBmdW5jdGlvbnMgd2Ugd3JpdGUgd2lsbCByZXR1cm4gc29tZXRoaW5nIHRvIHRoZSB1c2VyIHdobyBpcyBjYWxsaW5nIGl0LiAgQnkgZGVmYXVsdCwgYSBmdW5jdGlvbiB0aGF0IGp1c3QgZG9lcyBzb21ldGhpbmcgbGlrZSBwcmludCBzb21lIG1lc3NhZ2Ugb3IgbWFrZSBzb21lIHBsb3Qgd2lsbCByZXR1cm4gYE5VTExgCgpgYGB7cn0KZm9vIDwtIGZ1bmN0aW9uKCBuYW1lID0gIkFsaWNlIikgewogIGNhdChuYW1lLCAiaXMgaW4gdGhlIGhvdXNlLiIpCn0KZm9vKCkKYGBgCgpCdXQgaWYgSSB0cnkgdG8gYXNzaWduIGEgdmFyaWFibGUgdGhlIHJlc3VsdHMgb2YgdGhlIGZ1bmN0aW9uLCBJIGdldCBgTlVMTGAgYXMgdGhlIHZhbHVlIHJldHVybmVkLgoKYGBge3J9CnggPC0gZm9vKCkKY2xhc3MoeCkKeApgYGAKCklmIHlvdSB3YW50IHRvIHJldHVybiBzb21ldGhpbmcgdG8gdGhlIHVzZXIsIHlvdSBuZWVkIHRvIGJlIGV4cGxpY2l0IGFuZCB1c2UgdGhlIGByZXR1cm4oKWAgZnVuY3Rpb24gdG8gcGFzcyBiYWNrIHRoZSB2YXJpYWJsZS4KCgpgYGB7cn0KZm9vIDwtIGZ1bmN0aW9uKCBuYW1lID0gIkFsaWNlIikgewogIHJlc3BvbnNlIDwtIHBhc3RlKCBuYW1lLCAiaXMgaW4gdGhlIGhvdXNlLiIpCiAgcmV0dXJuKCByZXNwb25zZSApCn0KYGBgCgoKYGBge3J9Cndob19pc19pbl90aGVfaG91c2UgPC0gZm9vKCkKd2hvX2lzX2luX3RoZV9ob3VzZQpgYGAKCllvdSBjYW4gb25seSByZXR1cm4gKm9uZSogaXRlbSBidXQgaXQgY2FuIGJlIGEgYGxpc3RgIGEgYGRhdGEuZnJhbWVgIG9yIGFueSBvdGhlciBgUmAgb2JqZWN0LgoKCiMgQ3JlYXRpbmcgRnVuY3Rpb25zCgpZb3UgY2FuIGNyZWF0ZSBmdW5jdGlvbnMgZm9yIHNtYWxsIHRoaW5ncyB0byBiZSB1c2VkIGluIGEgc2luZ2xlIGRvY3VtZW50IG9yIHRoZXkgY2FuIGJlIGxhcmdlciBtb3JlIGdlbmVyYWwgZnVuY3Rpb25zIHRoYXQgY2FuIGJlIHVzZWQgYWxsIHRoZSB0aW1lLiAgCgpJZiB5b3UgYXJlIGdvaW5nIHRvIGJlIHVzaW5nIGEgZnVuY3Rpb24gaW4gYSBzaW5nbGUgbWFya2Rvd24gZG9jdW1lbnQsIGRlZmluZSBpdCBpbiBpdHMgb3duIGNvZGUgY2h1bmsgYW5kIHRoZW4gZnJvbSB0aGF0IHBvaW50IGRvd24gdGhlIGRvY3VtZW50LCBpdCB3aWxsIGJlIGF2YWlsYWJsZSB0byB1c2UgKGxpa2Ugd2UndmUgZG9uZSBpbiB0aGlzIGRvY3VtZW50KS4KCkhvd2V2ZXIsIGlmIHlvdSBhcmUgZ29pbmcgdG8gYmUgY2FsbGluZyBhIGZ1bmN0aW9uIGZyb20gbW9yZSB0aGFuIG9uZSBzb2xlIE1hcmtkb3duIGRvY3VtZW50LCBpdCBpcyBwcm9iYWJseSBnb29kIHByYWN0aWNlIHRvIHB1dCBpdCBpbiBpdHMgb3duIGZpbGUuICBSIHNjcmlwdCBmaWxlcyBjb250YWluIE9OTFkgY29kZSBhbmQgdGhpcyBpcyB3aGVyZSB5b3Ugc2hvdWxkIHB1dCBpdC4KCk1ha2UgYSBuZXcgUiBTY3JpcHQgZmlsZSBieSBzZWxlY3RpbmcgKkZpbGUgLT4gTmV3IEZpbGUgLT4gUiBTY3JpcHQqLiAgCgpBcyBhbiBleGFtcGxlLCBJIG1hZGUgZW50ZXJlZCB0aGUgY29kZSBzaG93biBiZWxvdyBpbnRvIHRoaXMgc2NyaXB0IGZpbGUgYW5kIHRoZW4gc2F2ZWQgaXQgYXMgYHN1bW1hcml6ZV9sZXZlbHMuUmAgKippbiB0aGUgc2FtZSBkaXJlY3RvcnkgYXMgbXkgcHJvamVjdCoqICh0aGlzIGxhc3QgcGFydCBpcyBpbXBvcnRhbnQpLgoKIVtGaWd1cmUgMjogU2ltcGxlIGNvZGUgdG8gYWtlIHN1bW1hcmllcyBmcm9tIGEgZGF0YSBmcmFtZSBhcyBhbiBleGFtcGxlIGZ1bmN0aW9uIGluIGl0cyBvd24gZmlsZS5dKGh0dHBzOi8vbGl2ZS5zdGF0aWNmbGlja3IuY29tLzY1NTM1LzUwMzk4NDM5NTUxX2Y1NDlhODA1ODZfY19kLmpwZykKClRoaXMgY29kZSBoYXMgYSBmZXcgc2VjdGlvbnMgdG8gaXQuICBUaGUgdG9wIDkgcm93cyBhcmUgY29tbWVudHMuICBUaGVzZSBraW5kcyBvZiBjb21tZW50cyBhcmUgZGVub3RlZCBieSBhIGhhc2h0YWcgYW5kIGEgc2luZ2xlIHF1b3RlLiAgWW91IGRvIG5vdCAqbmVlZCogdG8gaGF2ZSB0aGVzZSBjb21tZW50cyBpbiB0aGUgZmlsZSBidXQgd2hlbiB5b3Ugc3RhcnQgbWFraW5nIGEgbG90IG9mIGZ1bmN0aW9uLCBlYWNoIGluIHRoZWlyIGZpbGUsIGlmIHlvdSBmb2xsb3cgdGhlc2UgaW5zdHJ1Y3Rpb25zIHlvdSBjYW4gYXV0b2dlbmVyYXRlIHRoZSBSIGhlbHAgZmlsZXMgc28geW91IChhbmQgb3RoZXJzIHdobyBtYXkgYmUgdXNpbmcgeW91ciBjb2RlKSBjYW4gbG9vayBhdCB0aGUgaGVscCBmaWxlLgoKMS4gVGhlIGZpcnN0IGxpbmUgaGFzIGEgYnJpZWYgZGVzY3JpcHRpb24gb2Ygd2hhdCB0aGUgc2NyaXB0IGRvZXMuCjIuIFRoZSBuZXh0IHNldCBvZiBsaW5lcyBpbmRpY2F0ZSAqU2VjdGlvbnMqIHRoYXQgY2FuIGJlIHB1dCBpbnRvIHRoZSBoZWxwIGZpbGUuICBUaGVzZSBzZWN0aW9ucyBhcmUgZGVub3RlZCBieSBhbiBALXNpZ24gZm9sbG93ZWQgYnkgYSBuYW1lICh0aGVyZSBhcmUgbWFueSBtb3JlIHRoYW4gdGhlIHRocmVlIHVzZWQgaGVyZSkuICAKICAgIC0gQGRlc2NyaXB0aW9uIC0gQSBtb3JlIHJvYnVzdCBkZXNjcmlwdGlvbiBvZiB3aGF0IHRoZSBmdW5jdGlvbiBkb2VzLiAgCiAgICAtIEBwYXJhbSBBIGxpc3Rpbmcgb2YgZWFjaCBwYXJhbWV0ZXIgc2VudCB0byB0aGUgZnVuY3Rpb24gYW5kIGl0cyBkZXNjcmlwdGlvbi4gIAogICAgLSBAcmV0dXJuIFdoYXQgdGhlIGZ1bmN0aW9uIHJldHVybnMgdG8gdGhlIHVzZXIuCjMuIFRoZSBmdW5jdGlvbiBib2R5IHdoZXJlIGl0IGlzIGFjdHVhbGx5IGRlZmluZWQuICBOb3RpY2UsIEkgbmFtZSB0aGUgZnVuY3Rpb24gYW5kIHRoZSBzY3JpcHQgZmlsZSB0aGUgZXhhY3Qgc2FtZSBzbyBpdCBpcyBlYXN5IGZvciB5b3UgdG8ga25vdyB3aGF0IGlzIGluIGVhY2ggZmlsZS4KCgpTaW5jZSB0aGUgZnVuY3Rpb24gaXMgbG9jYXRlZCBpbiBhbm90aGVyIGZpbGUsIHdlIG5lZWQgdG8gYXNrIGBSYCB0byBsb2FkIGluIHRoZSBzb3VyY2Ugb2YgdGhlIGNvZGUuICBUaGlzIGlzIGRvbmUgdXNpbmcgdGhlIGBzb3VyY2UoKWAgZnVuY3Rpb24uICAKCmBgYHtyfQpzb3VyY2UoInN1bW1hcml6ZV9sZXZlbHMuUiIpCmBgYAoKRG8gdGhpcyBvbmNlIGFuZCBpdCB3aWxsIGxvYWQgdGhlIGZ1bmN0aW9uIGluIHRoZSBjdXJyZW50IEdsb2JhbCBFbnZpcm9ubWVudC4KCiFbXShodHRwczovL2xpdmUuc3RhdGljZmxpY2tyLmNvbS82NTUzNS81MDM5NzgzMTQ1M19iODMzNzdkZWYwX2NfZC5qcGcpCgpPbmNlIHlvdSBhIGZldyBmdW5jdGlvbnMgdG9nZXRoZXIsIHlvdSBjYW4gcHV0IHRoZW0gdG9nZXRoZXIgaW50byBhIGxpYnJhcnkgKGxlZnQgYXMgYW4gYWR2YW5jZWQgdG9waWMpLgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCg==