From 5ab480d12b29c38b7e11de28c0f6c24c5a6277f1 Mon Sep 17 00:00:00 2001 From: salma Date: Fri, 11 Jun 2021 14:40:02 -0700 Subject: [PATCH 1/5] added supporting comments to workshop 1 --- Stata Fundamentals I/Stata1_Polls.docx | Bin 14062 -> 14558 bytes Stata Fundamentals I/workshop1_content.do | 105 ++++++++---------- Stata Fundamentals I/workshop1_solutions.do | 113 ++++++++++---------- 3 files changed, 100 insertions(+), 118 deletions(-) diff --git a/Stata Fundamentals I/Stata1_Polls.docx b/Stata Fundamentals I/Stata1_Polls.docx index 64bb9e8a66f517d11aaf687067b58d263bb266a9..5f9508d458589ff83603a84ede5fb4da903329ab 100644 GIT binary patch delta 10290 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 delta 9867 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

1?*F4JE*Jo$82VN#Z=;2CHB1#s zR;G?)&(&@plQf2EEGZmN$sp^YD?b#iV{EH7S|2eFi}SIavo>QhHKY%T6^Ur9G@>*g zJzhhClAtz1n$yWMNG)Dpf)YgV{VxgG@xDbUN_>fa&Cv7sPQ=@rTGO-N*F~h?ERDSZ zfEUzaJDw?hr_hjT73-_vlL=1C`;!%SB`dObyZxef&ZtNKdZ#@^L_P|PNNGk15>Bwr@- zQXMq@bCceyKk*+LfAidKy^_4Fy1Y^aeuw#c+XFApnXwW97VZ-z(JHw|UM ze9F&=Rfh)d%peo$1Iver1G8~AQ~M%h$v26YOFd7I0h~|X`$il|Q~S5Rw3g!19*j}h zk!`F~pY${=t+?1YLES)2ECyp1OO@xewoeP{!2K}QD}zmSEgcIXC~I#@$o zl4C?62|n4pbmt|qO95*J9{I%R>hU%)6cc@b$#6Cn1=2aw_hM*N1iFHJBvd!bkAW5g5n8?Hksp$jAQ`8dwIP} z);um60{+yxIf!S}vnC{Sr!2m+PXg`t_CE3qLd?{w0G1F7$`gC`3wZlY3%*6o-4qzp4&?t~eX`jqcLR zxa)I}vPbGbi0V#e_&@jJW=WKCi50qnca&?Q2Hzgp0Sc#X&rJBVLKhmj2vFD@npW0+ zsY7e#uoWV8j>i>~tipXZ*`>~Kt5ouR4=oHUbW&a@cqxa!X~gWWEIkIBQ}Ub{F5_6` zw&JaX`wy83YjbQaH7LL8sI!6+aG9KxWIjAo@H;n=JzV>hz@`R>Ow0l6;Xk!p24G2-1X45WH&R1;556QC2DQP_#XtM;{FQmgGGd&ee?Hlk1$RX3~TC&b^!}TQS&-C3pfFEb~&ybFQChi*#UZCZ2T4f9-XV9)`Ep1ff$STp!t&9@R6aH12 zh++0`9XX_DfSe@ph~@C~ORI1Nhkek$Bi@ z;&BM{HihEQ|IGgGmpJrrDVgA4X=3Pq96~pISTrcOUbX5<5IH*NFzpam3^iTBDtjw>XyxoRZb(lUxn&7LW{jHoWkNO{7SZF_{r^vrN z!W-JcH|Z%2OyUJfU12_!@6ld^Qm2$f4-Wb^!fy&E5uQ{{)g-b_i%@vVbAwX}Fhak< zX1J7*Gw9ewA%F>#;&jT$As9XHw~uL|<&fDn)g&}(XVI`}xCB#7iz1*aXA^@{{Wc&L zW8u>Y3POt_O4-Ub|DZ5(QJMTli$=xO9R@^J?RoE*F`FkZ4MYaP|2-xb)xQRuqizz4 zttaP_H>D-|{=ps670!YdjfYPl1Y#~3lURqDFRa@R-mYnuNSnE}-~m2x?tLx8`?Pu2 z*JkHGA60F_U*0Enom0!6-ITt;tX118r>>c8u`5%zGiaKn=c?Ab1jbjSEq&|P1Uf>h zMS?jQy+9wyLpK=n`srt+u+9Tr+ms1KkTkhWK+~fEootPVZ9QM%e3KvBR0;E5HXQ38 zAxaop4wYt~OEs^WPdwep8=R(Ke-{5~wPkeboEw_axH_q<7>GUgZs>GcxWcY(rnI+B z%XRAa6f(NmXeP;eRj_!;w%*NMW?~O6*^O*G z%%Pd6l+HZSHW(Jr0_ib7lcomf&FbIX9rr%hG%FvT6H%aO1%Io$3T8;uh5WJ1OTKe=0!&0Pk@0 zUnL0&05Ep5bZ}>7`Kwj|LO?PD{>hg5JFVs2oc-O5=wICcfLd7aF*gg*e Change Working Directory > Navigate to the folder where you - have saved the data file nlsw88.dta */ +/* Step 1: File > Change Working Directory > Navigate to the folder where you have saved the data file nlsw88.dta */ /* Step 2: Copy-paste the last command that shows up on result screen. My results window shows this:*/ -cd "C:\Users\heroa\Google Drive\DLab\stata-fundamentals\Stata Fundamentals I" +cd "\\Client\C$\Users\salma\Box\dlab_workshops-s21\stata-fundamentals\Stata Fundamentals I" + - /*** - We paste this command above so that next time we can just run this - do-file from the top and it will run smoothly. We will not need to - use the file menu or copy-paste again. We should be able to run - everything from the do-file. +We paste this command above so that next time we can just run this do-file from the top and it will run smoothly. We will not need to use the file menu or copy-paste again. We should be able to run everything from the do-file. ***/ // POLL 1 // - -/* Step 3: Open the data file */ +/* Step 3: Open the data file.*/ use nlsw88.dta , clear // open data file -/* You can also write: */ - -use nlsw88 , clear -// don't have to specify .dta, that is the default extension - - /*** - If you are using an older version of Stata, then please use: - -use nlsw88_13, clear +Stata uses a special file type called .dta files to save data in a table format (similar to how Excel has their own .xlsx file types). At the end of today's workshop, we'll go over how to import other file types that are more common (e.g. .csv files). ***/ +/* You can also write: */ +use nlsw88 , clear // don't have to specify .dta, that is the default extension +/*** +If you are using an older version of Stata, then please use: use nlsw88_13, clear +***/ /* - Pause here, and now highlight everything above this point and click - on the "do" button. It should run smoothly! You've started to create a - functional do-file! +Pause here, and now highlight everything above this point and click on the "do" button. It should run smoothly! You've started to create a functional .do file! */ - ****************************** * COMMENTING * ****************************** -// There are a bunch of ways to comment your .do file. -// Commenting is key for understanding your work. +// Comments are meant to make your code easier to understand. There are a bunch of ways to comment your .do file; comments will show up in green text while commands (the steps you want Stata to execute) will show up in black or blue text. -* You can also just put an asterisk at the beginning of a line -* You can use * to comment out lines of code that you want to suspend -// you can use double slash to make comments at the end of a command line or just as a line by itself (like this one) -// asterisk (*) cannot be placed at the end of a command line +/* +If you want to write a really long and super informative comment and you want to clearly show where the comment begins and ends, you can wrap it in a slash-asterisk (/* at the start, and */ at the end), like this one we're typing right now. +*/ +* You can put an asterisk at the beginning of a line to comment it out +* You can also use * to comment out lines of code that you want to suspend +// You can use double slash to make comments at the end of a command line or just as a line by itself (like this one) +// asterisk (*) cannot be placed at the end of a command line - it can only be used on a line by itself. For example: des // describes the variables in the data des * describes the variables in the data <-- this is wrong! * des // this suspended the command altogether -/* But then say you wanted to write a really long -and super informative comment that you didn't want -to have all on one line, like this one we're typing -right now. */ - +/* +Try highlighting and running just the three lines above. The first line should run smoothly, giving us a description of the data. The second should give an error because it's not commented properly! +*/ // POLL 2 // -** CHALLENGE ** +/* Challenge question 1 */ /* (1) write "describes data" NEXT to the command "des" below as a comment @@ -134,43 +120,44 @@ des sum count - - ********************************************** * EXAMINING A DATA SET: THE BASICS * ********************************************** -** It is good practice to LOOK at your data before you start working with it -** That way, you get an idea of its shape and the variables in it quickly +* It is good practice to LOOK at your data before you start working with it +* That way, you get an idea of its shape and the variables in it quickly * DESCRIBE des // describes dataset and variables - * BROWSE br // browse data in data editor -**What do the different colors mean? -des married married_txt - +/* Challenge question 2 */ +/* +What do the different colors mean in the data editor? +*/ +des married married_txt // we can describe selected variables by specifying which ones - here, we're just describing the married and married_txt fields * CODEBOOK +* The codebook command in Stata provides additional details about each variable, beyond what is output by des +* We could use it to get a codebook of all the variables, which will result in a lengthy output. For now, let's just look at the contents of the variable union codebook union // shows the contents of the variable union - // POLL 3 // - * COUNT - count // counts the number of observations +* The command above counts the total number of observations in our dataset. But we can also count observations with a condition. For instance, if we want to know how many rows represent individuals who are over 40, we can use: +count if age > 40 // counts the number of observations where age is greater than 40 - -/* CHALLENGE ** -(3) Count the number of observations that are union members. -variable: union +/* Challenge question 3 */ +/* +Count the number of observations that are union members. (hint: you can use the command + codebook union +to first figure out what different values the variable union can have) */ diff --git a/Stata Fundamentals I/workshop1_solutions.do b/Stata Fundamentals I/workshop1_solutions.do index c4d29c4..695e75f 100644 --- a/Stata Fundamentals I/workshop1_solutions.do +++ b/Stata Fundamentals I/workshop1_solutions.do @@ -1,7 +1,6 @@ ******************************** * STATA FUNDAMENTALS: PART 1 * SPRING 2021, D-LAB -* SOLUTIONS DO FILE ******************************** @@ -29,108 +28,96 @@ * SETTING UP * ****************************** +* In this section, we'll learn how to import your data into Stata and how to run your code. In Stata, we often refer to the file that contains your code as a "do-file". -* clear all previously open data, variables, labels, matrices, memory, etc., -* and close all open files, graph windows, etc +* first, clear all previously open data, variables, labels, matrices, memory, etc., and close all open files, graph windows, etc clear all +* SET A WORKING DIRECTORY -* SET A PROJECT DIRECTORY +* The working directory is the folder on your computer containing the files associated with a given Stata file - it's where Stata will look when you try to load data, and where it will export your data, unless you specify otherwise. Your working directory doesn't necessarily have to be the same folder where your do-file is saved. Stata will choose a default directory based on your application settings, and we can use a command to check which directory that is: pwd // check the current working directory +* Often, the current working directory isn't actually the folder we want to use to store our work - below, we show how you can change the working directory to your desired folder. * Method: Copy & Paste /**** - This is not the most efficient method for telling Stata to locate - and open your files, but it is the simplest, so we will work with - this for day 1 of the workshop +This is not the most efficient method for telling Stata where to locate and open your files, but it is the simplest, so we will work with this for day 1 of the workshop ****/ - - - -/* Step 1: File > Change Working Directory > Navigate to the folder where you - have saved the data file nlsw88.dta */ +/* Step 1: File > Change Working Directory > Navigate to the folder where you have saved the data file nlsw88.dta */ /* Step 2: Copy-paste the last command that shows up on result screen. My results window shows this:*/ -cd "C:\Users\heroa\Google Drive\DLab\stata-fundamentals\Stata Fundamentals I" +cd "\\Client\C$\Users\salma\Box\dlab_workshops-s21\stata-fundamentals\Stata Fundamentals I" + - /*** - We paste this command above so that next time we can just run this - do-file from the top and it will run smoothly. We will not need to - use the file menu or copy-paste again. We should be able to run - everything from the do-file. +We paste this command above so that next time we can just run this do-file from the top and it will run smoothly. We will not need to use the file menu or copy-paste again. We should be able to run everything from the do-file. ***/ // POLL 1 // - -/* Step 3: Open the data file */ +/* Step 3: Open the data file.*/ use nlsw88.dta , clear // open data file -/* You can also write: */ - -use nlsw88 , clear -// don't have to specify .dta, that is the default extension - - /*** - If you are using an older version of Stata, then please use: - -use nlsw88_13, clear +Stata uses a special file type called .dta files to save data in a table format (similar to how Excel has their own .xlsx file types). At the end of today's workshop, we'll go over how to import other file types that are more common (e.g. .csv files). ***/ +/* You can also write: */ +use nlsw88 , clear // don't have to specify .dta, that is the default extension +/*** +If you are using an older version of Stata, then please use: use nlsw88_13, clear +***/ /* - Pause here, and now highlight everything above this point and click - on the "do" button. It should run smoothly! You've started to create a - functional do-file! +Pause here, and now highlight everything above this point and click +on the "do" button. It should run smoothly! You've started to create a functional do-file! */ - ****************************** * COMMENTING * ****************************** -// There are a bunch of ways to comment your .do file. -// Commenting is key for understanding your work. +// Comments are meant to make your code easier to understand. There are a bunch of ways to comment your .do file; comments will show up in green text while commands (the steps you want Stata to execute) will show up in black or blue text. -* You can also just put an asterisk at the beginning of a line -* You can use * to comment out lines of code that you want to suspend -// you can use double slash to make comments at the end of a command line or just as a line by itself (like this one) -// asterisk (*) cannot be placed at the end of a command line +/* +If you want to write a really long and super informative comment and you want to clearly show where the comment begins and ends, you can wrap it in a slash-asterisk (/* at the start, and */ at the end), like this one we're typing right now. +*/ +* You can put an asterisk at the beginning of a line to comment it out +* You can also use * to comment out lines of code that you want to suspend +// You can use double slash to make comments at the end of a command line or just as a line by itself (like this one) +// asterisk (*) cannot be placed at the end of a command line - it can only be used on a line by itself. For example: des // describes the variables in the data des * describes the variables in the data <-- this is wrong! * des // this suspended the command altogether -/* But then say you wanted to write a really long -and super informative comment that you didn't want -to have all on one line, like this one we're typing -right now. */ - +/* +Try highlighting and running just the three lines above. The first line should run smoothly, giving us a description of the data. The second should give an error because it's not commented properly! +*/ // POLL 2 // -** CHALLENGE ** -/* +/* Challenge question 1 */ +/* (1) write "describes data" NEXT to the command "des" below as a comment (2) Suspend all 3 lines of code below using one pair of /**/ */ +/* Challenge question 1 solution */ /* des // describe data sum @@ -141,38 +128,46 @@ count ********************************************** * EXAMINING A DATA SET: THE BASICS * ********************************************** -** It is good practice to LOOK at your data before you start working with it -** That way, you get an idea of its shape and the variables in it quickly +* It is good practice to LOOK at your data before you start working with it +* That way, you get an idea of its shape and the variables in it quickly * DESCRIBE -des // describes dataset and variables - +des // describes dataset and all variables * BROWSE br // browse data in data editor -**What do the different colors mean? -des married married_txt - +/* Challenge question 2 */ +/* +What do the different colors mean in the data editor? +*/ +/* Challenge question 2 solution */ +/* +The colors designate different data types - in my data editor, strings are red. +*/ +des married married_txt // we can describe selected variables by specifying which ones - here, we're just describing the married and married_txt fields * CODEBOOK +* The codebook command in Stata provides additional details about each variable, beyond what is output by des +* We could use it to get a codebook of all the variables, which will result in a long output. For now, let's just look at the contents of the variable union: codebook union // shows the contents of the variable union // POLL 3 // - * COUNT - count // counts the number of observations +* The command above counts the total number of observations in our dataset. But we can also count observations with a condition. For instance, if we want to know how many rows represent individuals who are over 40, we can use: +count if age > 40 // counts the number of observations where age is greater than 40 - -/* CHALLENGE ** -(3) Count the number of observations that are union members. -variable: union +/* Challenge question 3 */ +/* +Count the number of observations that are union members. (hint: you can use the command + codebook union +to first figure out what different values the variable union can have) */ count if union == 1 From bd4fccae668e8f0c4dc3c3aebecbedf5c74363e1 Mon Sep 17 00:00:00 2001 From: salma Date: Fri, 11 Jun 2021 14:48:37 -0700 Subject: [PATCH 2/5] added supporting comments to workshop 1 --- Stata Fundamentals I/workshop1_content.do | 26 ++++++++++----------- Stata Fundamentals I/workshop1_solutions.do | 23 ++++++++---------- 2 files changed, 22 insertions(+), 27 deletions(-) diff --git a/Stata Fundamentals I/workshop1_content.do b/Stata Fundamentals I/workshop1_content.do index 0fe1b6f..050ede5 100644 --- a/Stata Fundamentals I/workshop1_content.do +++ b/Stata Fundamentals I/workshop1_content.do @@ -149,34 +149,32 @@ codebook union // shows the contents of the variable union // POLL 3 // * COUNT + count // counts the number of observations + * The command above counts the total number of observations in our dataset. But we can also count observations with a condition. For instance, if we want to know how many rows represent individuals who are over 40, we can use: count if age > 40 // counts the number of observations where age is greater than 40 /* Challenge question 3 */ /* -Count the number of observations that are union members. (hint: you can use the command +Count the number of observations that are union members. +(hint: you can use the command codebook union to first figure out what different values the variable union can have) */ +* SUMMARIZE +* shows number of observations, mean, min & max of all or some vars +sum // summarize all variables - - -* SUMMARIZE * - -* shows number of observations, mean, min & max of all/some vars -sum - - -* MISSING VALUES * - - -/* Notice the observation numbers. Why do some variables have fewer observations? */ +* MISSING VALUES +* Notice the observation numbers. Why do some variables have fewer observations? misstable summarize // tabulates missing values -codebook union +/* +Stata uses a period (".") to indicate missing values - so the count of missing values for each vairable can be found in the column "Obs=." +*/ ************************************************************** diff --git a/Stata Fundamentals I/workshop1_solutions.do b/Stata Fundamentals I/workshop1_solutions.do index 695e75f..6b0939a 100644 --- a/Stata Fundamentals I/workshop1_solutions.do +++ b/Stata Fundamentals I/workshop1_solutions.do @@ -155,11 +155,12 @@ des married married_txt // we can describe selected variables by specifying whic codebook union // shows the contents of the variable union - // POLL 3 // * COUNT + count // counts the number of observations + * The command above counts the total number of observations in our dataset. But we can also count observations with a condition. For instance, if we want to know how many rows represent individuals who are over 40, we can use: count if age > 40 // counts the number of observations where age is greater than 40 @@ -171,22 +172,18 @@ to first figure out what different values the variable union can have) */ count if union == 1 +* SUMMARIZE +* shows number of observations, mean, min & max of all or some vars +sum // summarize all variables - -* SUMMARIZE * - -* shows number of observations, mean, min & max of all/some vars -sum - - -* MISSING VALUES * - - -/* Notice the observation numbers. Why do some variables have fewer observations? */ +* MISSING VALUES +* Notice the observation numbers. Why do some variables have fewer observations? misstable summarize // tabulates missing values -codebook union +/* +Stata uses a period (".") to indicate missing values - so the count of missing values for each vairable can be found in the column "Obs=." +*/ ************************************************************** From abb87f4d6358cae48d4ebc436628fbad2212ad57 Mon Sep 17 00:00:00 2001 From: salma Date: Mon, 21 Jun 2021 22:34:34 -0700 Subject: [PATCH 3/5] updated text and polls in workshop1 --- Stata Fundamentals I/workshop1_content.do | 223 +++++++++++--------- Stata Fundamentals I/workshop1_solutions.do | 208 +++++++++++------- 2 files changed, 258 insertions(+), 173 deletions(-) diff --git a/Stata Fundamentals I/workshop1_content.do b/Stata Fundamentals I/workshop1_content.do index 050ede5..4d3033f 100644 --- a/Stata Fundamentals I/workshop1_content.do +++ b/Stata Fundamentals I/workshop1_content.do @@ -62,6 +62,12 @@ We paste this command above so that next time we can just run this do-file from ***/ // POLL 1 // +/*** +Run the command “pwd”. Is your working directory set to the proper folder on YOUR computer? +(1) Yes +(2) No +(3) Don’t know +***/ /* Step 3: Open the data file.*/ @@ -108,6 +114,15 @@ Try highlighting and running just the three lines above. The first line should r */ // POLL 2 // +/*** +Which of these include both a command and a comment (and would run the command without error)? + +(1) /*clear all – make sure environment is clear before reading in new data*/ +(2) clear all * make sure environment is clear before reading in new data +(3) *clear all – make sure environment is clear before reading in new data +(4) // clear all // make sure environment is clear before reading in new data +(5) clear all // make sure environment is clear before reading in new data +***/ /* Challenge question 1 */ /* @@ -147,6 +162,13 @@ des married married_txt // we can describe selected variables by specifying whic codebook union // shows the contents of the variable union // POLL 3 // +/*** +What information is NOT included in the output of the command “codebook union”? +(1) variable type +(2) value labels +(3) number of observations +(4) mean +***/ * COUNT @@ -173,7 +195,7 @@ sum // summarize all variables misstable summarize // tabulates missing values /* -Stata uses a period (".") to indicate missing values - so the count of missing values for each vairable can be found in the column "Obs=." +Stata uses a period (".") to indicate missing values - so the count of missing values for each vairable can be found in the column "Obs=." */ @@ -188,13 +210,13 @@ Now let's start looking at some summary statistics using command: "summarize" (or "sum" for short) */ -sum // summarize the data, presents summary statistics -sum wage -sum wage, detail +sum // summarize all data, presents summary statistics +sum wage // summarize only the wage variable +sum wage, detail // summarize the wage variable with detailed summary statistics * we can combine conditional operators with the summarize command -* What is the average wage of observations who are married in this sample +* For example, we can detrmine the average wage of observations who are married in this sample sum wage if married==1 @@ -213,49 +235,47 @@ For the college graduates in the sample, those who are unmarried earn more (11.30) on average than those who are married (10.10).*/ - -** CHALLENGES ** - +/* Challenge question 4 */ /* -(4) What is the mean wage for those who are not married? +What is the mean wage for those who are not married? variables: wage married (hint: Use the operator "if") */ - +/* Challenge question 5 */ /* -(5) What is the average wage of those who have worked 10 or more years? +What is the average wage of those who have worked 10 or more years? variables: wage tenure +(hint: For numerical variables, Stata considers missing values to be very, very large numbers - so if you are selecting a subset of your data by value (e.g. "age > 40"), it is important to additionally specify that you want to exclude missing values (i.e. "age != .) */ - +/* Challenge question 6 */ /* -(6) What is the average number of hours worked in the sample? +What is the average number of hours worked in the sample? variable: hours */ - +/* Challenge question 7 */ /* -(7) What is the average age and age range of this sample? +What is the average age and age range of this sample? Variable: age */ - +/* Challenge question 8 */ /* -(8) What is the average age for non-married observations? +What is the average age for non-married observations? variables: age, married */ - // Let's look at how missing variables can affect results: // Suppose we want to summarize wages for those individuals who are in unions (union=1) @@ -268,87 +288,100 @@ variables: age, married /* E */ sum wage if union==1 // POLL 4 // - +/*** +Suppose we want to summarize wages for those individuals who are in unions (union=1) +Which of the five options in the do file are correct? +(1) All +(2) E, only +(3) A, B +(4) C, D, E +(5) B, C, D +***/ * TABULATION & CROSS TABULATION * +/* +Another useful command for summarizing variables is "tabulate", or "tab" for short. +*/ - - -// Very helpful for categorical variables +// It's particularly helpful for categorical variables tab race tab collgrad tab union tab union if hours>=60 & hours<. -* Twoway tables +// The tables we created above are one way tables - they summarize one variable. But we can also give tab a list of two variables and create two-way tables tab union collgrad -tab union collgrad, col -tab union collgrad, row -tab union collgrad, col row - -tab union collgrad, cell +tab union collgrad, col // the option "col" shows the relative frequency of each row value (union worker) within each column value (collgrad) - for instance, we can figure out what percentage of college graduates in our dataset are union workers +tab union collgrad, row // the option "row" shows the relative frequency of each column value (collgrad) within each row value (union worker) - for instance, we can figure out what percentage of non-union workers are college graduates +tab union collgrad, col row // combine "col" and "row" to get both sets of relative percentages +tab union collgrad, cell // the option "cell" shows the relative frequency of each row-column combination within the dataset - for instance, we can figure out what percentage of the dataset are union workers who graduated college // POLL 5 // +/*** +If you wanted to know what percentage of white respondents lived in central cities, what code would you write? +(1) tab race c_city, col +(2) tab race c_city, row +(3) tab c_city race, row +(4) tab c_city race, cell +(5) tab race c_city, cell +***/ - -** CHALLENGE ** +/* Challenge question 9 */ /* -(9) How many observations in this dataset fall into each race group? +How many observations in this dataset fall into each race group? Variables: race */ - +/* Challenge question 10 */ /* -(10) What percent of the sample is white? +What percent of the sample is white? Variable: race */ +* TABULATE, SUMMARIZE * +* You can combine tabulating and summary statistics using tab, summarize; this command gives summary statistics of one variable with respect to others -* TABULATE, SUMMARIZE -* Summary statistics of one variable with respect to others /* e.g. What is the average wage for married/non-married OR college graduates/non-graduates? */ - -help tabulate_summarize -tab collgrad, summarize(wage) means -tab married collgrad, summarize(wage) means +help tabulate_summarize // pull up the documentation for this command +tab collgrad, summarize(wage) means // get mean hourly wage for college graduates/non-graduates +tab married collgrad, summarize(wage) means // get mean hourly wage for combinations of married/non-married and college graduates/non-graduates -** CHALLENGE ** +/* Challenge question 11 */ /* -(11) Find average wage by industry. +Find average wage by industry. Variables: industry wage */ +// When you find the average wage by industry, do you notice anything strange? +// Mining wages are much higher than other industries, so let's explore the mining wage... - -// do you notice anything strange about the wages here? -// mining wages are the highest?? - -// Let's explore the mining wage... -// Let's take a look at the observations that work in mining -// first we have to find the industry code that belongs to mining +// Let's take a look at the observations that work in mining. First we have to find the industry code that belongs to mining * Finding numeric codes attached to value labels * - -br if industry==Mining // no luck, industry is a numerical variable +// We can start by using the browse command ("br") to open up the data editor for the observations we're interested in. To start, we can try specifying that we only want to look at observations where the industry is Mining... +br if industry==Mining +// ...no luck, industry is a numerical variable! If we try tabulating industry again, we'll only see the text labels... tab industry +// ...but we can figure out what the associated numeric values are by specifying the option "nolabel": tab industry, nolabel +// comparing the no label and the labelled tables shows that mining is given a value of 2: br if industry==2 -/* OR */ -// find name of value label + +// another way to figure out the number associated with each label is to use codebook: codebook industry // you can also use: des industry -// then list the contents of that label +// then list the contents of that label: label list indlbl br if industry==2 @@ -366,13 +399,13 @@ br if industry==2 * (1) Simple numeric variables +// the command "gen" (short for generate) creates a new variable -gen year88=1 +gen year88=1 // create a variable year88, that is equal to 1 for all observations -gen wage_day = wage*8 // wage per day (8 hour workday) - -gen tenure_sqr = tenure^2 +gen wage_day = wage*8 // create a variable wage_day, that estimates the wage per day (assuming an 8 hour workday) +gen tenure_sqr = tenure^2 // create a variable tenure_sqr, that is equal to the tenure squared * (2) Turning our string variable into a numeric variable @@ -382,47 +415,40 @@ gen tenure_sqr = tenure^2 sum wage if married_txt=="Married" sum wage if married == 1 -*Do you see any issues that might arrise from using a string variable? +*Do you see any issues that might arise from using a string variable? tab married_txt married - /* Method 1: manual labor */ - *Remember married and married_txt? tab married married_txt tab married_txt -gen married2=1 if married_txt=="M" | married_txt=="Married" | married_txt=="m" /// - | married_txt=="maried" | married_txt=="married" +// we can use a combination of "gen" and "replace" to clean up married_txt by creating another variable, married2 +gen married2=1 if married_txt=="M" | married_txt=="Married" | married_txt=="m" | married_txt=="maried" | married_txt=="married" -replace married2=0 if married_txt=="single" | married_txt=="S" | married_txt=="SINGLE" /// - | married_txt=="Single" | married_txt=="s" | married_txt=="sIngle" /// - | married_txt=="singLe" | married_txt=="single" | married_txt=="single " /// - | married_txt=="single " | married_txt==" single" | married_txt=="single " +replace married2=0 if married_txt=="single" | married_txt=="S" | married_txt=="SINGLE" | married_txt=="Single" | married_txt=="s" | married_txt=="sIngle" | married_txt=="singLe" | married_txt=="single" | married_txt=="single " | married_txt=="single " | married_txt==" single" | married_txt=="single " +// now we have a numerican variable, married2, that is equal to "1" for married observations and "0" for non-married observations + +// if the married_txt string was clean, we could simply use "encode" to convert it to a numerical value encode married_txt, gen(married3) // good when strings are clean -gen married_txt2 = married_txt -replace married_txt2=trim(married_txt2) // removes leading and trailing spaces -replace married_txt2=proper(married_txt2) -replace married_txt2=lower(married_txt2) -replace married_txt2=upper(married_txt2) +// another way to clean text is to use the "trim", "proper", "lower", and "upper" commands +gen married_txt2 = married_txt // create a new variable, married_txt2, that is equal to married_txt (for now) +replace married_txt2=trim(married_txt2) // remove leading and trailing spaces +replace married_txt2=proper(married_txt2) // change to "proper" case - first letter upper case +replace married_txt2=lower(married_txt2) // change to lower case +replace married_txt2=upper(married_txt2) // change to upper case /* Method 2 (advanced!): regular expressions */ - - /* -Regular expressions are one way that you can work with strings in variables -Regular expressions are methods that allows for searching, matching and replacing within strings. -There are two main commands: regexr and regexm. +Regular expressions are one way that you can work with strings in variables. Regular expressions are methods that allows for searching, matching and replacing within strings. There are two main commands: regexr and regexm. regexr REPLACES a value within a string with a new variable - regexm, which we'll use today, combines strings and conditional operators. -regexm lets you search within a string for a given character; it returns 1, or -TRUE, if the string has the character, and 0 otherwise. +regexm lets you search within a string for a given character; it returns 1, or TRUE, if the string has the character, and 0 otherwise. */ gen married4=1 if regexm(married_txt,"m") | regexm(married_txt,"M") @@ -434,7 +460,6 @@ br married_txt married2 married3 married4 tab married married2 - * (3) Create numeric variables from other numeric variables // create a variable that indicates highschool graduate @@ -442,7 +467,7 @@ tab married married2 // (1) missing values // (2) what should =1 and what should =0 for your variable -//let's first look at grade +// let's first look at grade codebook grade // it has missing values, so beware @@ -481,6 +506,12 @@ drop hs2 hs3 // POLL 6 // +/*** +We want to create a variable indicating if people worked full time (40 hrs or more). Which option would NOT generate this variable properly? +(1) gen full_time=hours>=40 +(2) gen full_time=hours>=40 if hours<. +(3) recode hours (0/39 = 0) (40/80=1), gen(full_time) +***/ @@ -491,8 +522,6 @@ tab hs1 * LABEL VARIABLES AND ADD VALUE LABELS * - - // Let's rename hs1 as hs rename hs1 hs @@ -520,34 +549,38 @@ label list hs_vallabel // POLL 7 // +/*** +We want to see the value labels and the values that they correspond to for the variable hs. Which option would NOT show us this? +(1) br hs +(2) label list +(3) label list hs_vallabel +(4) tab hs +(5) codebook hs +***/ -** CHALLENGE ** +/* Challenge question 12a */ /* -Let's make and label a new variable about college attendance. -(12a) Create a variable called somecollege, i.e. more than 12 and less than - 16 years of schooling) (call it somecollege, using any of the three methods - we used to create hs. +Let's make and label a new variable about college attendance. Create a variable called somecollege, i.e. more than 12 and less than 16 years of schooling) (call it somecollege, using any of the three methods we used to create hs. */ - - +/* Challenge question 12b */ /* -(12b) Label somecollege "Attended some years of college" +Label somecollege "Attended some years of college" */ - +/* Challenge question 12c */ /* -(12c) Create a new value label called somecollege_vallabel that assigns labels to 1 and 0 +Create a new value label called somecollege_vallabel that assigns labels to 1 and 0 */ - +/* Challenge question 12d */ /* -(12d) Add your new value label to somecollege and check it has added +Add your new value label to somecollege and check it has added */ diff --git a/Stata Fundamentals I/workshop1_solutions.do b/Stata Fundamentals I/workshop1_solutions.do index 6b0939a..1da8f94 100644 --- a/Stata Fundamentals I/workshop1_solutions.do +++ b/Stata Fundamentals I/workshop1_solutions.do @@ -62,6 +62,13 @@ We paste this command above so that next time we can just run this do-file from ***/ // POLL 1 // +/*** +Run the command “pwd”. Is your working directory set to the proper folder on YOUR computer? +(1) Yes +(2) No +(3) Don’t know +(If you ran the command above without any errors, the answer should be Yes) +***/ /* Step 3: Open the data file.*/ @@ -108,7 +115,17 @@ des * describes the variables in the data <-- this is wrong! Try highlighting and running just the three lines above. The first line should run smoothly, giving us a description of the data. The second should give an error because it's not commented properly! */ + // POLL 2 // +/*** +Which of these include both a command and a comment (and would run the command without error)? + +(1) /*clear all – make sure environment is clear before reading in new data*/ +(2) clear all * make sure environment is clear before reading in new data +(3) *clear all – make sure environment is clear before reading in new data +(4) // clear all // make sure environment is clear before reading in new data +(5) clear all // make sure environment is clear before reading in new data <-- CORRECT ANSWER +***/ /* Challenge question 1 */ /* @@ -156,6 +173,13 @@ des married married_txt // we can describe selected variables by specifying whic codebook union // shows the contents of the variable union // POLL 3 // +/*** +What information is NOT included in the output of the command “codebook union”? +(1) variable type +(2) value labels +(3) number of observations +(4) mean <-- CORRECT ANSWER +***/ * COUNT @@ -197,13 +221,13 @@ Now let's start looking at some summary statistics using command: "summarize" (or "sum" for short) */ -sum // summarize the data, presents summary statistics -sum wage -sum wage, detail +sum // summarize all data, presents summary statistics +sum wage // summarize only the wage variable +sum wage, detail // summarize the wage variable with detailed summary statistics * we can combine conditional operators with the summarize command -* What is the average wage of observations who are married in this sample +* For example, we can detrmine the average wage of observations who are married in this sample sum wage if married==1 @@ -223,10 +247,9 @@ unmarried earn more (11.30) on average than those who are married (10.10).*/ -** CHALLENGES ** - +/* Challenge question 4 */ /* -(4) What is the mean wage for those who are not married? +What is the mean wage for those who are not married? variables: wage married (hint: Use the operator "if") */ @@ -236,32 +259,37 @@ sum wage if married != 1 +/* Challenge question 5 */ /* -(5) What is the average wage of those who have worked 10 or more years? +What is the average wage of those who have worked 10 or more years? variables: wage tenure +(hint: For numerical variables, Stata considers missing values to be very, very large numbers - so if you are selecting a subset of your data by value (e.g. "age > 40"), it is important to additionally specify that you want to exclude missing values (i.e. "age != .) */ sum wage if tenure >= 10 & tenure != . +/* Challenge question 6 */ /* -(6) What is the average number of hours worked in the sample? +What is the average number of hours worked in the sample? variable: hours */ sum hours +/* Challenge question 7 */ /* -(7) What is the average age and age range of this sample? +What is the average age and age range of this sample? Variable: age */ sum age +/* Challenge question 8 */ /* -(8) What is the average age for non-married observations? +What is the average age for non-married observations? variables: age, married */ sum age if married == 0 @@ -279,86 +307,103 @@ sum age if married == 0 /* E */ sum wage if union==1 // POLL 4 // - +/*** +Suppose we want to summarize wages for those individuals who are in unions (union=1) +Which of the five options in the do file are correct? +(1) All +(2) E, only +(3) A, B +(4) C, D, E <--- CORRECT ANSWER +(5) B, C, D +***/ * TABULATION & CROSS TABULATION * +/* +Another useful command for summarizing variables is "tabulate", or "tab" for short. +*/ - - -// Very helpful for categorical variables +// It's particularly helpful for categorical variables tab race tab collgrad tab union tab union if hours>=60 & hours<. -* Twoway tables +// The tables we created above are one way tables - they summarize one variable. But we can also give tab a list of two variables and create two-way tables tab union collgrad -tab union collgrad, col -tab union collgrad, row -tab union collgrad, col row - -tab union collgrad, cell +tab union collgrad, col // the option "col" shows the relative frequency of each row value (union worker) within each column value (collgrad) - for instance, we can figure out what percentage of college graduates in our dataset are union workers +tab union collgrad, row // the option "row" shows the relative frequency of each column value (collgrad) within each row value (union worker) - for instance, we can figure out what percentage of non-union workers are college graduates +tab union collgrad, col row // combine "col" and "row" to get both sets of relative percentages +tab union collgrad, cell // the option "cell" shows the relative frequency of each row-column combination within the dataset - for instance, we can figure out what percentage of the dataset are union workers who graduated college // POLL 5 // +/*** +If you wanted to know what percentage of white respondents lived in central cities, what code would you write? +(1) tab race c_city, col +(2) tab race c_city, row <--- CORRECT ANSWER +(3) tab c_city race, row +(4) tab c_city race, cell +(5) tab race c_city, cell +***/ -** CHALLENGE ** +/* Challenge question 9 */ /* -(9) How many observations in this dataset fall into each race group? +How many observations in this dataset fall into each race group? Variables: race */ tab race +/* Challenge question 10 */ /* -(10) What percent of the sample is white? +What percent of the sample is white? Variable: race */ tab race -* TABULATE, SUMMARIZE -* Summary statistics of one variable with respect to others +* TABULATE, SUMMARIZE * +* You can combine tabulating and summary statistics using tab, summarize; this command gives summary statistics of one variable with respect to others + /* e.g. What is the average wage for married/non-married OR college graduates/non-graduates? */ - -help tabulate_summarize -tab collgrad, summarize(wage) means -tab married collgrad, summarize(wage) means +help tabulate_summarize // pull up the documentation for this command +tab collgrad, summarize(wage) means // get mean hourly wage for college graduates/non-graduates +tab married collgrad, summarize(wage) means // get mean hourly wage for combinations of married/non-married and college graduates/non-graduates -** CHALLENGE ** +/* Challenge question 11 */ /* -(11) Find average wage by industry. +Find average wage by industry. Variables: industry wage */ tab industry, sum(wage) means +// When you find the average wage by industry, do you notice anything strange? +// Mining wages are much higher than other industries, so let's explore the mining wage... -// do you notice anything strange about the wages here? -// mining wages are the highest?? - -// Let's explore the mining wage... -// Let's take a look at the observations that work in mining -// first we have to find the industry code that belongs to mining +// Let's take a look at the observations that work in mining. First we have to find the industry code that belongs to mining * Finding numeric codes attached to value labels * - -br if industry==Mining // no luck, industry is a numerical variable +// We can start by using the browse command ("br") to open up the data editor for the observations we're interested in. To start, we can try specifying that we only want to look at observations where the industry is Mining... +br if industry==Mining +// ...no luck, industry is a numerical variable! If we try tabulating industry again, we'll only see the text labels... tab industry +// ...but we can figure out what the associated numeric values are by specifying the option "nolabel": tab industry, nolabel +// comparing the no label and the labelled tables shows that mining is given a value of 2: br if industry==2 -/* OR */ -// find name of value label + +// another way to figure out the number associated with each label is to use codebook: codebook industry // you can also use: des industry -// then list the contents of that label +// then list the contents of that label: label list indlbl br if industry==2 @@ -376,13 +421,13 @@ br if industry==2 * (1) Simple numeric variables +// the command "gen" (short for generate) creates a new variable -gen year88=1 +gen year88=1 // create a variable year88, that is equal to 1 for all observations -gen wage_day = wage*8 // wage per day (8 hour workday) - -gen tenure_sqr = tenure^2 +gen wage_day = wage*8 // create a variable wage_day, that estimates the wage per day (assuming an 8 hour workday) +gen tenure_sqr = tenure^2 // create a variable tenure_sqr, that is equal to the tenure squared * (2) Turning our string variable into a numeric variable @@ -392,47 +437,41 @@ gen tenure_sqr = tenure^2 sum wage if married_txt=="Married" sum wage if married == 1 -*Do you see any issues that might arrise from using a string variable? +*Do you see any issues that might arise from using a string variable? tab married_txt married - /* Method 1: manual labor */ - *Remember married and married_txt? tab married married_txt tab married_txt -gen married2=1 if married_txt=="M" | married_txt=="Married" | married_txt=="m" /// - | married_txt=="maried" | married_txt=="married" +// we can use a combination of "gen" and "replace" to clean up married_txt by creating another variable, married2 +gen married2=1 if married_txt=="M" | married_txt=="Married" | married_txt=="m" | married_txt=="maried" | married_txt=="married" -replace married2=0 if married_txt=="single" | married_txt=="S" | married_txt=="SINGLE" /// - | married_txt=="Single" | married_txt=="s" | married_txt=="sIngle" /// - | married_txt=="singLe" | married_txt=="single" | married_txt=="single " /// - | married_txt=="single " | married_txt==" single" | married_txt=="single " +replace married2=0 if married_txt=="single" | married_txt=="S" | married_txt=="SINGLE" | married_txt=="Single" | married_txt=="s" | married_txt=="sIngle" | married_txt=="singLe" | married_txt=="single" | married_txt=="single " | married_txt=="single " | married_txt==" single" | married_txt=="single " -encode married_txt, gen(married3) // good when strings are clean +// now we have a numerican variable, married2, that is equal to "1" for married observations and "0" for non-married observations -gen married_txt2 = married_txt -replace married_txt2=trim(married_txt2) // removes leading and trailing spaces -replace married_txt2=proper(married_txt2) -replace married_txt2=lower(married_txt2) -replace married_txt2=upper(married_txt2) +// if the married_txt string was clean, we could simply use "encode" to convert it to a numerical value +encode married_txt, gen(married3) // good when strings are clean +// another way to clean text is to use the "trim", "proper", "lower", and "upper" commands +gen married_txt2 = married_txt // create a new variable, married_txt2, that is equal to married_txt (for now) +replace married_txt2=trim(married_txt2) // remove leading and trailing spaces +replace married_txt2=proper(married_txt2) // change to "proper" case - first letter upper case +replace married_txt2=lower(married_txt2) // change to lower case +replace married_txt2=upper(married_txt2) // change to upper case -/* Method 2 (advanced!): regular expressions */ +/* Method 2 (advanced!): regular expressions */ /* -Regular expressions are one way that you can work with strings in variables -Regular expressions are methods that allows for searching, matching and replacing within strings. -There are two main commands: regexr and regexm. +Regular expressions are one way that you can work with strings in variables. Regular expressions are methods that allows for searching, matching and replacing within strings. There are two main commands: regexr and regexm. regexr REPLACES a value within a string with a new variable - regexm, which we'll use today, combines strings and conditional operators. -regexm lets you search within a string for a given character; it returns 1, or -TRUE, if the string has the character, and 0 otherwise. +regexm lets you search within a string for a given character; it returns 1, or TRUE, if the string has the character, and 0 otherwise. */ gen married4=1 if regexm(married_txt,"m") | regexm(married_txt,"M") @@ -491,7 +530,12 @@ drop hs2 hs3 // POLL 6 // - +/*** +We want to create a variable indicating if people worked full time (40 hrs or more). Which option would NOT generate this variable properly? +(1) gen full_time=hours>=40 <--- CORRECT ANSWER +(2) gen full_time=hours>=40 if hours<. +(3) recode hours (0/39 = 0) (40/80=1), gen(full_time) +***/ // Let's tabulate our new variable @@ -530,13 +574,18 @@ label list hs_vallabel // POLL 7 // +/*** +We want to see the value labels and the values that they correspond to for the variable hs. Which option would NOT show us this? +(1) br hs <--- CORRECT ANSWER +(2) label list +(3) label list hs_vallabel +(4) tab hs +(5) codebook hs +***/ -** CHALLENGE ** +/* Challenge question 12a */ /* -Let's make and label a new variable about college attendance. -(12a) Create a variable called somecollege, i.e. more than 12 and less than - 16 years of schooling) (call it somecollege, using any of the three methods - we used to create hs). +Let's make and label a new variable about college attendance. Create a variable called somecollege, i.e. more than 12 and less than 16 years of schooling) (call it somecollege, using any of the three methods we used to create hs. */ // method 1 gen somecollege1 = 1 if grade > 12 & grade < 16 @@ -555,23 +604,26 @@ rename somecollege1 somecollege +/* Challenge question 12b */ /* -(12b) Label somecollege "Attended some years of college" +Label somecollege "Attended some years of college" */ label variable somecollege "Attended some years of college" +/* Challenge question 12c */ /* -(12c) Create a new value label called somecollege_vallabel that assigns labels to 1 and 0 +Create a new value label called somecollege_vallabel that assigns labels to 1 and 0 */ label define somecollege_vallabel 0 "did not attend college or completed college" 1 "attended some college" +/* Challenge question 12d */ /* -(12d) Add your new value label to somecollege and check it has added +Add your new value label to somecollege and check it has added */ label val somecollege somecollege_vallabel tab somecollege From ce65c37a91aa6693f5f88bf99b1868883b24476c Mon Sep 17 00:00:00 2001 From: salma Date: Sun, 4 Jul 2021 18:10:57 -0700 Subject: [PATCH 4/5] added polls to stat wkshop 2 --- Stata Fundamentals II/workshop2_content.do | 227 +++++++++--------- Stata Fundamentals II/workshop2_solutions.do | 239 ++++++++++--------- 2 files changed, 236 insertions(+), 230 deletions(-) diff --git a/Stata Fundamentals II/workshop2_content.do b/Stata Fundamentals II/workshop2_content.do index e17ce45..7b34444 100644 --- a/Stata Fundamentals II/workshop2_content.do +++ b/Stata Fundamentals II/workshop2_content.do @@ -23,7 +23,7 @@ /* Step 2: Copy-paste the last command that shows up on result screen. My result window shows this:*/ -cd "C:\Users\heroa\Google Drive\DLab\stata-fundamentals\Stata Fundamentals II" +cd "\\Client\C$\Users\salma\Box\dlab_workshops-s21\stata-fundamentals\Stata Fundamentals II" /*** We paste this command above so that next time we can just run this @@ -33,6 +33,12 @@ cd "C:\Users\heroa\Google Drive\DLab\stata-fundamentals\Stata Fundamentals II" ***/ // POLL 1 // +/* +Run the command “pwd”. Is your working directory set to the proper folder on YOUR computer? +(1) Yes +(2) No +(3) Don’t know +*/ ********************************************** * 0. WORKSHOP I WRAP-UP @@ -52,13 +58,23 @@ use nlsw88.dta , clear help histogram //let's take a look at the histogram command // POLL 2 // - +/* +Refresher on help files: based on the help file syntax, what information MUST be provided to run a command? +(1) bolded words +(2) bolded words and italicized arguments that are NOT in brackets +(3) bolded words and arguments in brackets +(4) bolded words and words after commas +(5) bolded words, italicized (non-bracketed) arguments, and words after commas +*/ + +/* the default histogram command gives the density of values per bin, but using the option freq allows us to visualize the frequency of values per bin */ histogram age histogram age, freq histogram wage histogram wage, freq +/* the option discrete allows us to specify that the data are discrete, which means that we visualize a separate bin for each value */ histogram age, discrete histogram wage, discrete @@ -85,10 +101,12 @@ histogram wage, freq width(2) /// xtitle("Hourly Wage in 1988 Dollars") -** CHALLENGE ** -* 1. Plot a histogram of weekly hours worked in which each bar represents 5 hours. -* Label the x-axis "Weekly Hours" +** Challenge question 1 ** +/* +(1) Plot a histogram of weekly hours worked in which each bar represents 5 hours. +(2) Label the x-axis "Weekly Hours" // variable: hours +*/ *** Additional options for a Histogram @@ -106,21 +124,27 @@ histogram wage, by(married) name(hist_wageXmarried) // POLL 3 // - -** CHALLENGE ** -* 2. Create a graph with one historgram of wage for each industry. +/* +Which of the following options can be combined in Stata’s histogram command? +(1) bin and width +(2) density and frequency +(3) start and width +(4) discrete and bin +(5) none of the above +*/ + +** Challenge question 2 ** +/* +(1) Create a graph with one historgram of wage for each industry. // variables: wage, industry -* Bonus: Include a (single) title for the whole graph +(2) Bonus: Include a (single) title for the whole graph // hint: this is an option WITHIN an option +*/ - - - *** SCATTERPLOT *** - help scatter //now scatterplots scatter wage age @@ -139,18 +163,15 @@ scatter wage age, title("Hourly vs. Age") scheme(s1mono) scatter wage age, title("Hourly vs. Age") scheme(s1mono) mcolor(blue) - - //There are other formatting changes we can also make scatter wage age, title("Hourly vs. Age") legend(on) /// mcolor(blue) xlabel(34(1)46, format(%2.0f)) ylabel(,format(%2.1f)) - *** COMBINE GRAPHS help twoway -//We want to make a scatterplot, and add a linear prediction-based line of best fit +// We want to make a scatterplot, and add a linear prediction-based line of best fit twoway (scatter wage age, mcolor(blue)) /// (lfit wage age), title("Hourly vs. Age") xlabel(34(1)46, format(%2.0f)) /// ylabel(,format(%2.1f)) legend(on) @@ -176,17 +197,13 @@ graph save hist_wageXmarried "hist_wageXmarried.gph", replace graph display hist_wageXmarried graph export "hist_wageXmarried.png", name(hist_wageXmarried) replace - *Remember- you can code all these graphs on one line without the /// *I have them broken up into multiple lines for easy display in class *Do what is best for you! - ** Additional options for a Scatter Plot - - *Scatter plot by wage and age- separate graph for each scatter wage age, by(race) @@ -196,8 +213,6 @@ scatter wage age, by(race, total) ***This is the same syntax as the histogram above! - - *** More Advanced Plotting Options *** *What if we want to put two histograms on the same plot? @@ -227,29 +242,32 @@ twoway (histogram wage if union==1, percent fcolor(blue%50) lcolor(black) start( legend(order (1 "Union" 2 "Non-Union")) title("Wage by Union Status") -** CHALLENGE ** -* 3. Create a graph with a scatter plot of wage (y-axis) and total work experience (x-axis) -* for (1) white women and (2) black women on the same set of axes. -* Include a legend that labels the plot for each race - // variables: wage, ttl_exp, race (1=white, 2=black) +** Challenge question 3 ** +/* +Create a graph with a scatter plot of wage (y-axis) and total work experience (x-axis) for (1) white women and (2) black women on the same set of axes. -* BONUS: change the marker colors from the default to 2 different fun colors - // hint: help colorstyle - - - - - +Include a legend that labels the plot for each race + // variables: wage, ttl_exp, race (1=white, 2=black) +BONUS: change the marker colors from the default to 2 different fun colors + // hint: help colorstyle +*/ + // POLL 4 // +/* +Which of the following is true about plotting in Stata? +(1) You can plot UP TO two graphs at a time +(2) There is only one right way to write code for any desired graph +(3) You can only have one graph open at a time +(4) Once you set a scheme, you cannot adjust the appearance of your graph +(5) None of the above +*/ ********************************************** * II. CORRELATION AND T-TESTS ********************************************** - - *CORRELATION AND T-TESTS //How do we use the correlation command in Stata? @@ -261,24 +279,29 @@ corr age wage // What if we want to look at age wage and tenure? // Notice anything different? -//COMMAND: +// COMMAND: corr age wage tenure pwcorr age wage tenure // POLL 5 // -corr age grade wage hours ttl_exp - - -** CHALLENGE ** -* 4. Correlate ALL of the continuous variables in the dataset that are non-missing for ALL variables - // hint: continuous variables are numeric variables for which a "unit increase" - // (or decrease) has inherent meaning. +corr age grade wage hours ttl_exp // run this line to answer poll 5 +/* +Which pair of variables has the WEAKEST correlation? +(1) age and wage +(2) hours and age +(3) wage and hours +(4) grade and ttl_exp +*/ + +** Challenge question 4 ** +/* +Correlate ALL of the continuous variables in the dataset that are non-missing for ALL variables + // hint: continuous variables are numeric variables for which a "unit increase" (or decrease) has inherent meaning. +*/ - - *T-TESTS //Now, let's test whether wages are different by union membership @@ -293,14 +316,12 @@ ttest wage, by(south) *How would you interpret this? -** CHALLENGE ** -* 5. Is there a statistically significant difference in the mean wage of white and black women? +** Challenge question 5 ** +/* +Is there a statistically significant difference in the mean wage of white and black women? // variables: wage race // hint: the ttest approach requires a conditional statement - - - - +*/ ************************************************** @@ -309,7 +330,7 @@ ttest wage, by(south) *LINEAR REGRESSION -help regress //Let's look at the doccumentation for the regress commend +help regress //Let's look at the documentation for the regress commend *Lets regress wage and age reg wage age @@ -317,10 +338,16 @@ reg wage age *How about wage on age, union, and married? reg wage age union married - - // POLL 6 // - +reg wage age union married // run this line to answer poll 6 +/* +Which coefficients are statistically significant (at the conventional 95% confidence level)? +(1) age +(2) union +(3) married +(4) union and married +(5) age, union, and married +*/ *Why can't we use married_txt? @@ -330,43 +357,33 @@ reg wage age union married_txt *What happens when we do a categorical variable? *What does this output mean? -reg wage age union married industry // Not right +reg wage age union married industry // not right: an increase or decreae in the value of industry does not have inherent meaning -*We want to treat each industry number as its own category instead of assuming a linear -*relationship between them +*We want to treat each industry number as its own category instead of assuming a linear relationship between them **How do we fix this? //COMMAND: - reg wage age union married i.industry - *The i. here lets us split up the categorical industry variable into dummies by value - - - //What if we only want to run this regression for certain industries? //COMMAND: - - reg wage age union married if industry==5 reg wage age union married if industry==12 - - *Note number of observations in these regressions *Do all of them match? *Why not? -* OMMITTED CATEGORY + +* OMITTED CATEGORY * when we run a regression with a categorical variable, there is always an ommitted category -* the coefficients are interpretted relative to the ommitted category - reg wage age union married i.industry - - * you can change the ommitted category - say you wanted it to be relative to farmers - codebook occupation - label list occlbl // farmers = 9 - reg wage ttl_exp collgrad union ib9.occupation +* the coefficients are interpreted relative to the omitted category +reg wage age union married i.industry +* you can change the omitted category - say you wanted it to be relative to farmers +codebook occupation +label list occlbl // farmers = 9 +reg wage ttl_exp collgrad union ib9.occupation * a bivariate (two variable) regression is equivalent to testing the difference in group means reg wage i.race @@ -376,19 +393,17 @@ reg wage i.race ttest wage if race <3, by(race) -** CHALLENGE ** -* 6. Regress wage (dependent variable) on: -* total experience, -* college graduation, -* union status, and -* occupation. -* Omit respondents in occupations that are: -* (1) unknown (i.e., "other" or missing) or (2) have fewer than 20 respondents. - // variables: wage ttl_exp collgrad union occupation - - - - +** Challenge question 6 ** +/* +Regress wage (dependent variable) on: + total experience, + college graduation, + union status, and + occupation. +Omit respondents in occupations that are: + (1) unknown (i.e., "other" or missing) or (2) have fewer than 20 respondents. + variables: wage ttl_exp collgrad union occupation +*/ *INTERACTIONS @@ -397,10 +412,8 @@ ttest wage if race <3, by(race) *Basic regression reg wage age union married collgrad - gen marriedXcollgrad= married*collgrad - reg wage age union married collgrad marriedXcollgrad // Another way to do this: @@ -413,13 +426,11 @@ reg wage age union married##collgrad // How do these two specifications differ? - - ****************************************** * IV. POST-ESTIMATION ****************************************** -//We can do more than just display coefficients following regression -//Examples from linear regression +// We can do more than just display coefficients following regression +// Examples from linear regression help regress postestimation // here is the relevant help file @@ -427,21 +438,16 @@ help regress postestimation // here is the relevant help file reg wage union age married estat hettest - - *WALD TESTS reg wage union age married test union = married - - -** CHALLENGE ** -* 7. Are the wages of clerical/unskilled workers significantly different from -* unskilled workers? -*(hint: two methods - one using Wald test, another using ommitted categories) - - +** Challenge question 7** +/* +Are the wages of clerical/skilled workers significantly different from unskilled workers? +(hint: two methods - one using Wald test, another using omitted categories) +*/ ****************************************** @@ -450,7 +456,7 @@ test union = married // Sometimes, we may want to display results in figures rather than tables -//you will need to run the below to install this very useful user-written command +// you will need to run the below to install this very useful user-written command ssc install coefplot reg wage union age married i.industry @@ -458,12 +464,9 @@ coefplot coefplot, horizontal coefplot, drop(_cons) horizontal - -//What if you want to use 99 percent confidence intervals instead of 95? -//Use the help file for coefplot to figure out how to plot the above figure that way +// What if you want to use 99 percent confidence intervals instead of 95? +// Use the help file for coefplot to figure out how to plot the above figure that way //COMMAND: - - reg wage union age married i.industry coefplot, levels(99 95) diff --git a/Stata Fundamentals II/workshop2_solutions.do b/Stata Fundamentals II/workshop2_solutions.do index 21b0c73..67233a5 100644 --- a/Stata Fundamentals II/workshop2_solutions.do +++ b/Stata Fundamentals II/workshop2_solutions.do @@ -1,7 +1,6 @@ ******************************** * STATA FUNDAMENTALS: WORKSHOP 2 * SPRING 2021, D-LAB -* SOLUTIONS DO FILE ******************************** ************************************************** @@ -24,7 +23,7 @@ /* Step 2: Copy-paste the last command that shows up on result screen. My result window shows this:*/ -cd "C:\Users\heroa\Google Drive\DLab\stata-fundamentals\Stata Fundamentals II" +cd "\\Client\C$\Users\salma\Box\dlab_workshops-s21\stata-fundamentals\Stata Fundamentals II" /*** We paste this command above so that next time we can just run this @@ -34,6 +33,12 @@ cd "C:\Users\heroa\Google Drive\DLab\stata-fundamentals\Stata Fundamentals II" ***/ // POLL 1 // +/* +Run the command “pwd”. Is your working directory set to the proper folder on YOUR computer? +(1) Yes <-- hopefully this is the case! +(2) No <-- if this is your answer, double check that you've run the "cd" command above +(3) Don’t know <-- if this is your answer, check if pwd returns the same directory as the folder that contains nlsw88.dta +*/ ********************************************** * 0. WORKSHOP I WRAP-UP @@ -53,13 +58,23 @@ use nlsw88.dta , clear help histogram //let's take a look at the histogram command // POLL 2 // - +/* +Refresher on help files: based on the help file syntax, what information MUST be provided to run a command? +(1) bolded words +(2) bolded words and italicized arguments that are NOT in brackets <-- correct answer +(3) bolded words and arguments in brackets +(4) bolded words and words after commas +(5) bolded words, italicized (non-bracketed) arguments, and words after commas +*/ + +/* the default histogram command gives the density of values per bin, but using the option freq allows us to visualize the frequency of values per bin */ histogram age histogram age, freq histogram wage histogram wage, freq +/* the option discrete allows us to specify that the data are discrete, which means that we visualize a separate bin for each value */ histogram age, discrete histogram wage, discrete @@ -85,14 +100,14 @@ histogram wage, freq width(2) /// title("Histogram by Wage in National Labor Survery in 1988") /// xtitle("Hourly Wage in 1988 Dollars") - -** CHALLENGE ** -* 1. Plot a histogram of weekly hours worked in which each bar represents 5 hours. -* Label the x-axis "Weekly Hours" +** Challenge question 1 ** +/* +(1) Plot a histogram of weekly hours worked in which each bar represents 5 hours. +(2) Label the x-axis "Weekly Hours" // variable: hours - +*/ +/* Solution*/ histogram hours, width(5) start(0) xtitle("Weekly Hours") - * OR sum hours // max is 80 histogram hours, bin(16) start(0) xtitle("Weekly Hours") @@ -113,26 +128,30 @@ histogram wage, by(married) name(hist_wageXmarried) // POLL 3 // - -** CHALLENGE ** -* 2. Create a graph with one historgram of wage for each industry. +/* +Which of the following options can be combined in Stata’s histogram command? +(1) bin and width +(2) density and frequency +(3) start and width <-- correct answer +(4) discrete and bin +(5) none of the above +*/ + +** Challenge question 2 ** +/* +(1) Create a graph with one historgram of wage for each industry. // variables: wage, industry -histogram wage, by(industry) - -* Bonus: Include a (single) title for the whole graph +(2) Bonus: Include a (single) title for the whole graph // hint: this is an option WITHIN an option - +*/ +/* Solution */ +histogram wage, by(industry) histogram wage, by(industry, title("Wage by Industry")) - - - - *** SCATTERPLOT *** - help scatter //now scatterplots scatter wage age @@ -151,13 +170,10 @@ scatter wage age, title("Hourly vs. Age") scheme(s1mono) scatter wage age, title("Hourly vs. Age") scheme(s1mono) mcolor(blue) - - //There are other formatting changes we can also make scatter wage age, title("Hourly vs. Age") legend(on) /// mcolor(blue) xlabel(34(1)46, format(%2.0f)) ylabel(,format(%2.1f)) - *** COMBINE GRAPHS help twoway @@ -193,12 +209,8 @@ graph export "hist_wageXmarried.png", name(hist_wageXmarried) replace *I have them broken up into multiple lines for easy display in class *Do what is best for you! - - ** Additional options for a Scatter Plot - - *Scatter plot by wage and age- separate graph for each scatter wage age, by(race) @@ -208,8 +220,6 @@ scatter wage age, by(race, total) ***This is the same syntax as the histogram above! - - *** More Advanced Plotting Options *** *What if we want to put two histograms on the same plot? @@ -239,32 +249,36 @@ twoway (histogram wage if union==1, percent fcolor(blue%50) lcolor(black) start( legend(order (1 "Union" 2 "Non-Union")) title("Wage by Union Status") -** CHALLENGE ** -* 3. Create a graph with a scatter plot of wage (y-axis) and total work experience (x-axis) -* for (1) white women and (2) black women on the same set of axes. -* Include a legend that labels the plot for each race - // variables: wage, ttl_exp, race (1=white, 2=black) +** Challenge question 3 ** +/* +Create a graph with a scatter plot of wage (y-axis) and total work experience (x-axis) for (1) white women and (2) black women on the same set of axes. -* BONUS: change the marker colors from the default to 2 different fun colors - // hint: help colorstyle +Include a legend that labels the plot for each race + // variables: wage, ttl_exp, race (1=white, 2=black) +BONUS: change the marker colors from the default to 2 different fun colors + // hint: help colorstyle +*/ +/* Solution */ twoway (scatter wage ttl_exp if race==1, col(cranberry)) /// (scatter wage ttl_exp if race==2, col(teal)), /// legend(label(1 "White") label(2 "Black")) - - - - // POLL 4 // +/* +Which of the following is true about plotting in Stata? +(1) You can plot UP TO two graphs at a time +(2) There is only one right way to write code for any desired graph +(3) You can only have one graph open at a time +(4) Once you set a scheme, you cannot adjust the appearance of your graph +(5) None of the above <-- Correct answer +*/ ********************************************** * II. CORRELATION AND T-TESTS ********************************************** - - *CORRELATION AND T-TESTS //How do we use the correlation command in Stata? @@ -282,18 +296,24 @@ corr age wage tenure pwcorr age wage tenure // POLL 5 // -corr age grade wage hours ttl_exp - - -** CHALLENGE ** -* 4. Correlate ALL of the continuous variables in the dataset that are non-missing for ALL variables - // hint: continuous variables are numeric variables for which a "unit increase" - // (or decrease) has inherent meaning. - +corr age grade wage hours ttl_exp // run this line to answer poll 5 +/* +Which pair of variables has the WEAKEST correlation? +(1) age and wage +(2) hours and age <-- correct answer +(3) wage and hours +(4) grade and ttl_exp +*/ + +** Challenge question 4 ** +/* +Correlate ALL of the continuous variables in the dataset that are non-missing for ALL variables + // hint: continuous variables are numeric variables for which a "unit increase" (or decrease) has inherent meaning. +*/ +/* Solution */ corr age grade wage hours ttl_exp tenure - *T-TESTS //Now, let's test whether wages are different by union membership @@ -308,18 +328,18 @@ ttest wage, by(south) *How would you interpret this? -** CHALLENGE ** -* 5. Is there a statistically significant difference in the mean wage of white and black women? +** Challenge question 5 ** +/* +Is there a statistically significant difference in the mean wage of white and black women? // variables: wage race // hint: the ttest approach requires a conditional statement -ttest wage if race<3, by(race) - -/* Answer: - Yes, white and black women earn significantly different wages on average. - White women earn $1.24 more per hour than black women. +*/ +/* Solution */ +ttest wage if race < 3, by(race) +/* +Yes, white and black women earn significantly different wages on average. White women earn $1.24 more per hour than black women. */ - ************************************************** * III. REGRESSION AND ITS OUTPUT @@ -327,7 +347,7 @@ ttest wage if race<3, by(race) *LINEAR REGRESSION -help regress //Let's look at the doccumentation for the regress commend +help regress //Let's look at the documentation for the regress commend *Lets regress wage and age reg wage age @@ -335,10 +355,16 @@ reg wage age *How about wage on age, union, and married? reg wage age union married - - // POLL 6 // - +reg wage age union married // run this line to answer poll 6 +/* +Which coefficients are statistically significant (at the conventional 95% confidence level)? +(1) age +(2) union <-- correct answer +(3) married +(4) union and married +(5) age, union, and married +*/ *Why can't we use married_txt? @@ -348,43 +374,33 @@ reg wage age union married_txt *What happens when we do a categorical variable? *What does this output mean? -reg wage age union married industry // Not right +reg wage age union married industry // not right: an increase or decreae in the value of industry does not have inherent meaning -*We want to treat each industry number as its own category instead of assuming a linear -*relationship between them +*We want to treat each industry number as its own category instead of assuming a linear relationship between them **How do we fix this? //COMMAND: - reg wage age union married i.industry - *The i. here lets us split up the categorical industry variable into dummies by value - - - //What if we only want to run this regression for certain industries? //COMMAND: - - reg wage age union married if industry==5 reg wage age union married if industry==12 - - *Note number of observations in these regressions *Do all of them match? *Why not? -* OMMITTED CATEGORY + +* OMITTED CATEGORY * when we run a regression with a categorical variable, there is always an ommitted category -* the coefficients are interpretted relative to the ommitted category - reg wage age union married i.industry - - * you can change the ommitted category - say you wanted it to be relative to farmers - codebook occupation - label list occlbl // farmers = 9 - reg wage ttl_exp collgrad union ib9.occupation +* the coefficients are interpreted relative to the omitted category +reg wage age union married i.industry +* you can change the omitted category - say you wanted it to be relative to farmers +codebook occupation +label list occlbl // farmers = 9 +reg wage ttl_exp collgrad union ib9.occupation * a bivariate (two variable) regression is equivalent to testing the difference in group means reg wage i.race @@ -394,20 +410,21 @@ reg wage i.race ttest wage if race <3, by(race) -** CHALLENGE ** -* 6. Regress wage (dependent variable) on: -* total experience, -* college graduation, -* union status, and -* occupation. -* Omit respondents in occupations that are: -* (1) unknown (i.e., "other" or missing) or (2) have fewer than 20 respondents. - // variables: wage ttl_exp collgrad union occupation - +** Challenge question 6 ** +/* +Regress wage (dependent variable) on: + total experience, + college graduation, + union status, and + occupation. +Omit respondents in occupations that are: + (1) unknown (i.e., "other" or missing) or (2) have fewer than 20 respondents. + variables: wage ttl_exp collgrad union occupation +*/ +/* Solution */ /* STEP 1 */ tab occupation tab occupation, nolab - * OR codebook occupation tab occupation @@ -417,18 +434,14 @@ label list occlbl reg wage ttl_exp collgrad union i.occupation if occupation<9 - - *INTERACTIONS // Let's add an interaction term for being married and graduating from college *Basic regression reg wage age union married collgrad - gen marriedXcollgrad= married*collgrad - reg wage age union married collgrad marriedXcollgrad // Another way to do this: @@ -441,8 +454,6 @@ reg wage age union married##collgrad // How do these two specifications differ? - - ****************************************** * IV. POST-ESTIMATION ****************************************** @@ -455,19 +466,17 @@ help regress postestimation // here is the relevant help file reg wage union age married estat hettest - - *WALD TESTS reg wage union age married test union = married - - -** CHALLENGE ** -* 7. Are the wages of clerical/unskilled workers significantly different from -* unskilled workers? -*(hint: two methods - one using Wald test, another using ommitted categories) +** Challenge question 7** +/* +Are the wages of clerical/skilled workers significantly different from unskilled workers? +(hint: two methods - one using Wald test, another using omitted categories) +*/ +/* Solution */ label list occlbl @@ -476,11 +485,8 @@ reg wage i.occupation test 4.occupation = 5.occupation /* Solution 2 */ - reg wage ib4.occupation - *OR - reg wage ib5.occupation @@ -490,7 +496,7 @@ reg wage ib5.occupation // Sometimes, we may want to display results in figures rather than tables -//you will need to run the below to install this very useful user-written command +// you will need to run the below to install this very useful user-written command ssc install coefplot reg wage union age married i.industry @@ -498,12 +504,9 @@ coefplot coefplot, horizontal coefplot, drop(_cons) horizontal - -//What if you want to use 99 percent confidence intervals instead of 95? -//Use the help file for coefplot to figure out how to plot the above figure that way +// What if you want to use 99 percent confidence intervals instead of 95? +// Use the help file for coefplot to figure out how to plot the above figure that way //COMMAND: - - reg wage union age married i.industry coefplot, levels(99 95) From 7fe7dcc8c791f7363e5c4779e062a6cba23e1f7f Mon Sep 17 00:00:00 2001 From: salma Date: Sun, 4 Jul 2021 19:21:07 -0700 Subject: [PATCH 5/5] added polls and explanatory text to wkshp 3 --- Stata Fundamentals III/nlsw88_complete.dta | Bin 0 -> 210513 bytes Stata Fundamentals III/nlsw88_wave1and2.dta | Bin 0 -> 130485 bytes Stata Fundamentals III/workshop3_content.do | 219 +++++++++-------- Stata Fundamentals III/workshop3_solutions.do | 225 ++++++++++-------- 4 files changed, 238 insertions(+), 206 deletions(-) create mode 100644 Stata Fundamentals III/nlsw88_complete.dta create mode 100644 Stata Fundamentals III/nlsw88_wave1and2.dta diff --git a/Stata Fundamentals III/nlsw88_complete.dta b/Stata Fundamentals III/nlsw88_complete.dta new file mode 100644 index 0000000000000000000000000000000000000000..a3d00544d8557469d508c3debee55a927e7bd840 GIT binary patch literal 210513 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

>Uo_1@`O+^cbOLN7x6^dLUqYT?KXcv+wi#{j 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

*8y6}ug0XI1?cXZ>-^ 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 literal 0 HcmV?d00001 diff --git a/Stata Fundamentals III/nlsw88_wave1and2.dta b/Stata Fundamentals III/nlsw88_wave1and2.dta new file mode 100644 index 0000000000000000000000000000000000000000..725d11b4a5b0d8143c86ca3d222468494c16e0e9 GIT binary patch literal 130485 zcmeFad3;n=(m#A}I_Y%wtx<@GVNDwdU<6qba_ay(h#F7{DxgB3l^~D^At-`Gz=bFn z7eLVT%;O$?5k5S&(AG%YweIBt5d__*Wx7WD}Kp{VTAs$j)5UU2G} zCl&Sh?TC*$u*PCfIiZaK&G>)SUccuCc? zapS9sdbodAR8>AD2neQB7H8!2${9Lia!x_dg5z?I>)XHA2}M1A``e-(Vc@2Wt1NcU zu&gzq-*mOz-&BTvU6$znd0Xh$Pg31K=d^Zz-QL~(bx}X}*MZ-<|M2wCulN1r{&{Wa z*P2y0kJlz4*W{2j%|~Ece$#|Mxrm&3E{}q8<_dh&P!!4wo)2 zpD?~+LeM(D>XIrKivRZij=L~ul?NvrJ^(-oK`R8ng#Y&K`MfFPrcDC|EPjH+34lDo zVF6%jusS&H{4gF4!y8;U4Kl|XcUUej*BxImc`^fW81C*KIlW>=)kMp>)S7yjK$t#d z`Zyea_y8Dx{`m5$!wEq7)Cn`DS4}&77^oOOen#cEs`84%MFTUY^4XP#i2`x#Ox8w+ z6M%^oGp0=k0EbN-S5-|uKX}RE1Rywd#wm;D z_22u2j7k3Qzn=K(UjN*0{{4U0Z@T5)@t-^B*H!=iiU0N;k2~QvZ2k(zKk=J?AJjvh z@1Hp5wXIhZg|xzYZ%A9Cjl7udCnR4~)P7`(Ke((r-a;v7M$D zBbc94j%Zm-=pV<1ehr1*t?;iI-{%nj{+hc2y?9Axg1a#M>wqzL%io{9ajyKu&Bg8I z&*A;T|IY9JvtRf5hx>=th4+gIZ500Z{ukW+Z|SvH{$|KKmk;8-Hm>||F#j5cCzLYy z|2!{z&c>bYKAEBO!@qo%))opaJc_>3Uo!!zs$m?xp||U5lClRzq7FQFC$RWPB~#Z{9OkA z%Loi>4@sZpjIWqdIXPH`OlDYlgn#{AiTnd4!fC%CG%+J^#<;4W^*aK^9Qvotn91eU z!Rc(sxcST95%{m#fxjZ~%+t;^mi0RV|7`@0haEj_+~gd|BL6M}|7jNfHSPU70>uOS zm$mRAY5U(P5GeeY5h!7=oS7BVE(%VwerMr-9f4f6F!|CPw|e4t1pey?oH2a{G=~&_ zxO9kWz)MjK7&f58zy5AW{{ut1s-g-AWEMtoZ)Fhmlv7dF`8xvtX)QddqAaIMN^f!k z91NU(to1trIZ!G(`M3Z1hXK_?YOF&s>Z0)z$8niCsBwB#`S|I@_z%UgU}dgz|82+r z^6yZ6Fm-B0Rj?<{t-IC@J%yv_IWN0Wa&z+WISZb&td%d#5qHcRf^qDP?)vbbzp8Wp z93T4ooTNC3p8pd15nf;U!>f6`WOr!2bpk5&fec27`CmcEaR9LO4{o}^AMyfDzt_EB zI32L0@Fmap_)h{o)}MX)ZE~^OL+jrSr4#tF{3Dz`;7jt4eNVdbEA&TeM<_k9UD^^R zpa-H`xH%y>A?Jc=6;pCbq#zT*?bM2?7nWDem{2|yf2g=1=bVZeQ!mUpt76KyslQ>f z%l`^C3vk>26gK&i{No>DbLPZ~oSDIC!5m~crso{jE5D!@#|Vz=cS7Hs0QZ3$+x<6` zo%p|kvg2{3{}jsjlKkTzqHM&(^65EDfYXCjIrweW#9+>};Pe@jtC-e84Kt|D%^5d! zLQdthit)ke)5}4BWtZk~Z%M_B>Azw0sQ(p=a?0;Ng;BmF|M-U(tqfKmnwK-KDvY2U zX(T#?@^b%I@YEak_)p=9FUddtA)ZdEn3gl80?b-I)vc3bD#QOX1%g+*y#6IZEwC#A0HT9gk>Bu!%#~911q0aHgMy|0uN!Dx6Jx;zAP0wJTwa(VqPWB;Z zh4)!;`dt+87q&6?H`F?($96t+AAvb3#U8vq&J;9eU4*m7nAfw^S(&zNTS>OndDw6h z_jUe!tl90%NoSY=X)um2pTaOFdF+9gy+na^vpeFf{&c@r-An39V!hUDTRx)P>asq- z&mvlvq~J-xHkQX@W&G7LA()rbO<8#wW&ji$V=W)l*7Wfgo`Zer>GmYP`>*gMGoG>L zy>ITJfMpEgpg*6(_7GPd*-xm~U%sNu=Gbz2>p=&bmrZ({N-c-kQtF6BgXU#Ex z@F|!X&z8?)uR8T-3f$jNhkfeI&I|>!z~l8;qu#xnx)e4RVoewGQ8MHCSD4co&)yj8 zq){iE^fg(9!1Gx8AuSSS%kp~c=if~=fz2g;?9<@9n3aDh%B1y+ckE-^K9BYO(&g0pvaO#G&KmG~d_bRt zyW_pi{NNJ`RF|#BK5HmGtIMHhx$t2 zsm+R}eps{H$xH3xIRxf3m&UA;47``go`-w&re}Q}qu@#M1Q)%1CUsoVbRyPlFa9__ z;w=Dkvd3Ot^b7?$q)fwE!_8~HXgnwQf|tK=CAAAw9|V83a#kj*vw%Z>3o9>oHRa#m za1G8n*?eg$nh*2W9ZM1n){Me?jWP>-YK_oOtViw+-nkO{w4&aLxrgE~jcEh-n)hRe zfn6H2x&r2n&X1{zPqB|>C3&sX`&X0SWS@<*`kS9^1+%Qd-QWE9E2h; zb~}?(6+A3AtR!D>&d@?iT+r(htf@5XGrAu7rWv@p1=_gm)3zqRF>4XGK*7P(7Y(-`GO%A#xQocGh=8DBE8+18W+JccdsBCdocN>-7`4+7@>&fA(c zQeAk0jeXuXeTFwz0iHU#y#+azS+F2$OqrenN<2l$bDy|%?~0w0g=jOW#G_f4WF}y+BI+L5BzjDnQ5I4l^ejb&AK3v+u7tZeX*`A@kZ=}vl2bl zPe~&wQ0F}dFxNOQijE7lp0i%I!SAe7y3h%wr8f4l%^EE?SVpm~{Jb;p)4b^_f#-de zb-(GIG;G7PF{gH{33$uz!QJmM9TF8hET8$TEtmX}{LPyNV$DY9g*Zj4E`Oz1b547M zIv%xZ3eFm3k~J@bepp5YcWlWS82Bci^>QNBB`Ey`z7TsO#5>7Y)8NEqsCQ@jvEyTa z=bk1IU%p&$SgrX2x>9(jL-*IIpe(lrYv!0cVj^`D-ohjI0`C-I&2}f*QaZ(@u^21o zo`oiVSo0--r_6ktsAxX?7Oa~ByZ2>apHe!;R(KXZP4d}|D{iB-+WIwQS>)u#C>|7@ z3p)H@X|`$YFC2$`PNY|(@B`VBWcNJ&Hs<$FvCn#{jnb7Of8qvTO@WkcV*v9&(>|@^ zp>)XivOybPRlaJ9hBc4Hn>Nv7nF=0$3zqX|$23q!lie5lc+Kb(C0khbg68eU9m}cX z&V~7m!{Qm*u5<5h+Z*0}kNky=SK_QrX1Z752eit(6MVkte)5;s4dr()-kzq`@IJO3 zW9`4Lz!YS!T7or0O>PT(0bP(ksF4B-dYy_j?aVIC7ud&woe;b_dp@=Pc=S}jGnN)7 zM7}BCD|pX!V<>G{b0^pvdBtxhbUak=$a}@xmgw#qycgrFY&t7m?c?gN6l=wx<0<*; z{5RQdDQ@yA86`3SXEFWwH|+V4m^KDwsJC$CSV%8Vs_TxkYU!MK#XExMSWj@nXAe?f zUau8c^8wwZ>4#y44QXv{|2+Ad7P1{al+M#SPR;^t#Gdl7Gu*NUW6c&PFSbQ~zh~BZ$qC0Ex{uhaUUwhJ)$0IHD`!h)#6GsjI+5YSn$xk* zK`M@o#t-ber)NQK)OoMQntAlDmOny2NJ5OsiZdMtX0wgG*D1;DbSON`gLZ;z({`vh za1!pdo9^@|cw8K&*snd;&jhkpT??4!m;o6P`~{d{w_Gr}p8b@2vCq9`e3H@y?0?zG zcCf1ULIb~Y2KL!Zcc-W~6~8GdCiufq?^B@rF19nfn_jW%EZmFbv&AwYFs!)hT04j(qS$hVC;ubVv{@Fdb@ zS&Dwd9)ta}yyjl^PfM|8C~ej_6#WH#kw5eu%I~qO8t|NL#>7V034AY)_&c3SOZiQ= zID?Xu+z=h-jTOFtz4}*T`LjgZNW#mIV>?dqnZOG0j%BqqeoLJd((g9wi`X$6=HTv2 zXs>=R(cPeDk%#S5<}seFxAhv>v?3Gu?nQ--KLDQZX_r^wPB_o*@jSi-KMsDS_}#F@u;y9H zkCH9673Z;QzU^STSXM30sx=?z*ag!e$1bjny^npgH*l|&&ie_mZ;5PLN~Ciw20@0c%oVNELvX!}Rr3o<<8uQlZH7q-V)mNiV8ncC%6?*+{1v`q7b$W`EQ+7%_H^_UIifQOvV zGZj4x%%D}V**+f4KH6BClB{Gx*l+4@A7?raYaW8TA8neo9WG5TUT;ujW?>`8KpKjB zM9DglQ5CI4`cnhz& zgMHyChvG-hI;(IE#}lp=m^=HF9CP)KZEd>`HnzX;T7C<2fk)Yya<3$>z3sl6DQ*4i zt$?Q|H7DV{4n0e3E$nkM%O8#v^rqoj52m{Qjy0&_AnQ|>QHf@jj>!nEdSilDK0KEC zQjJk#_3 z2DXt_m?n)M;S11w`djx?u4SDHm|M{pzWZ;sgzSTO6vt!&g^kCvKj?hNalhZzK-P(l zdvWeI3Y6t`!C8}>BpoYoVfMK6Grt#M&0Dll>o4HhVp%utmt}T&b^*R43@_#&f2Qe-NCaX2BO>5hi*Va)H$1?fn=&1Mx_}ydm?Qk6X z!q))iYfPh#3A4RndwoH%=Nq%O!lvEg*jkRoGw;9`X5Q)Ceb))N*J^rP>q?m}xYrh1n5E>rt1l8= zI=sRAclJ}9A?XqC4xIUH$kiQ`#_x`JLUC<$+z)mgO0bgH-na>8wKMCImF?&9a*AEl z=L0He-gE)hq?-PkR)u$bHsU|I27GZL)|_DOO^bjT@F2Fc{+L}9*fV-1*7T>#qwj?^ zuvZ_az$)_rvF*24$A5$evCn}=7m>fZEM91AL#m=Nfd@3d_{q~ajx<8xnV%eK0|2`o z>nZq6J!|XPUp~n^9OW~DcU+sTU{c+Aj6=#wQvQYT7v$=?2mT)BuTgYvT-QT+M{H5t zYe&kdCa~I+;jFjl&zd$wUnIxbi*t9AzcK3(zPq#CtN2vzg}XoW;~(kB>ay#xrYBhv z!`Cq)$X@$|0A)62T?qWdQL7l`gSc|TW506qBW!Q<#F`m&YpS9{&@*f;8!>8Q0#EOG z4QpOAr?e0UfbSsoMq}0$xYsPoPL6mB@DA+o?~cBjTCZs84IJiBuXH8HTwUq2Cj5Ci zfeuf{n!biC^MNqmX1q^Y{9!vvfgH$ z`#$!$lE%j>-&4+t_1NFs6K}edG~a@|mr}8Y$F*BL*2LTHW?k?%?DG_j)A4zsjRc>y zrt3r0*%Qw|>=SE_)-f5x@Wqx88)?i2gMHqmZpqQK3fph? zD_@aexxs$!!(PP~VoLy?)Ap?+=)p5&pNxzMJmW0jko~XN1548Y&nSwy z>u)9GCQimaC!6lc%0^;3L_EQM>#yH(9(D=VEHO?>1k6|iIrc=xLh8eDS`_P<+ceC0 zcd=L52I#V)iSrjlrb~*FQG!Fzq2&Jjh54YvOfyB}S@wa9;`n?w&R23yd{C@y-k*?@a>@m>%=-7NJNZH1@fVIvqI;JPF0@$>lj=;Nb*u#0f zMdtei72gmXB3~)C&9G+9`No;Qr?eo)khgmMXX@xL{5x^(<^i3L6W)oB5j(ugvI@>Y z52tIjFD&>;^aVL?eDsQ@mmId)mh1Q!)<_JWW4X|k=U|`Rbaj-Cgn9rwILR7qd}B6n zo^ii3r6vCISf^%8<=TU;Sc5o{jvI$;b<5cqXNoqLOca{$=TUeLt+D$YJBD*xZqClu zwhhC~vSmm7ohET}$q1pJM>CX8adoBFjak)sFU46610GFQG77Rq;>Nf2+~>4Cuyh#S zeUj73uk2OPmGIH}ZK~opEtGnwrQ($QYzq{WoO;bJ*_yTc>(&ujRu$g8lxi}SUY0e;jY^Hj?5(?i z!v^OG?NehC3~rVvYXT3uF)ODbUcI}#1#$`lpYBO%-FLB%R%VWmicy0HeZe1I+RODV zy|HGCb9D>y2fA`-HEK=% zuybKQ+Td4H{{ER3=agVI{=6Koj+O%X1N#WnR8@q>YJ{{Szl3y1SMDH zUZ5Y&ze7d^aMn=zB-(%Hx`G3jcQb))Iky2noy{tp8v=_9x(Ya9P`sJ*U zEfLGLE37N;(6Se6ShiTr-5mPWCb>LW$?&jzKKYSx1RJ|8V4mdcPgXXY*jljJ7G2ra zzz321mpMnr3f!1yDCffWf(>BGEv0ishKs#gL%!O2t{HfkuFy3DZrsLe-F<Uf)#e*?Y*f zz%w~lYB?r+8XIRH_oqRoS7GCsfcY-E&ZpiTYdG#_?drSO1d_M0Ux2ta*KjI33jU7Q zY8>^b8)IahQW6)T2l4Na1LAuXtu_Pkrg1bSPSK&r-dJyNq-~TDK^9GUqAa=yhR?p9cinB#=J>Z z&Fn;u4R!;}8D_Ap=qIF4;a5IMZP@Q-8tb8BAg+&ZTlF2O^LDjQEv*{IP|6^I4jePN>O^yjd=ox9Lr7F#`rmrW@V^2 zE%O(jC9wj?AAXAg=V)70=n(ayS5+38&dVw|f01f_jPj}R7O_^F7mg!;?;-aS)AMHu z5%xUJVn3I2+3i!V!amvbh}O$t`;c?KMcJ!P#+tp(qzqNd7xKFW<_^2}U5|UsF^M`> zz%ra``R<x8iFJJU{?r9K5S_PO_nP8lHci9Iv?ZcybvEO|!&ibS2o~Yy@ui?7x7q6N_ZT5_A$MSIQ zhq_KrY<0wBruUt05KpMZS@Y-vo%;jtK!2qK)4!NW__j|c?6cAF>l_f{2Q?MJ+eZ)M zy5%#l=3eTmZ4&VZad(CXwv7##_d5f%PbBg%7$fyI@I7zGK9zJrl9C%@8{_U@T|S!v z1G70dF_wH;ir+<_;w_%v@d(HLCgWbS=z^>W{Mcg8A2VbIb>X@cj*~3XHURR%EXRV$ zJ7!VN)^(i#^Ae|@K8x)Hj_JK}7JMStKI~v>W0n6U?}gliIq??iSXw$C`^-15>Ut!X z2R&AD%++)R*HMEns7Tj=2rv75R=ZoeQoGG1ZwMV$wcs;?R;5;?w!RncK9stqDtJP* z5LVl7`onSQRoJ`d72I`0X1Fy+T< zAA9Ej({o$S-GFC-c|Ovw#Kj;tj$iy7p&ok}@Z&W%#YMyfTgg?i*=$cR zmjn4s3kKDbv#!o$>~c~d*UGl@>s@v*QS zCG^boI4r{xG#$#D0_G6!EWlZ7o#S=>Le}8!oJY&tT*C5jICavtjl|gyPe|Kz1qCWm zV^&)FIkkz>r;>M&dVb5|JmX@MsQpTp2V+os>ES%=D6HveZqs$|A~R7F$b5mkXFAqc zPH)Zc3^QziAlK=&*<8Z0(=BvNtkOHI3%J&C!}yc9X1gD7xR*}!MEa*9GZ7!7KvrQK z?zO#mzP7_bhoT2r_I7piARSECWED3Sm=Oo?)mKoU;=s)~>qc{5OvD<{82Ccsbqjj2 zzdVbkX=Q++|F(?Z>)XdLl-`_F?#Lh*iFfyeafxzw-x}*3Fx$aj#b7 zYr$uP{)%m78`x|d7o98P zX`+dmHpI@v-8m1P*a`=v;wkQ_1UmcQaGx z$e@>*=H0x*^V^*}b?i&tJw7&g?$2=pdzR&LeJ|pf zY26OZH@SR@d>m*#ZCOPM;7K+=>6#OvL+tZo+o!3mTSK+QS(U0}i_6Ql&9%FMF&jDq zp0&y`6jOqZM#uFu>}nJw@a{5ZCaK^xpJv)f6?P%$)qQ+{{JO;ndn$C@GLv;>u775f?b z>#51(sbgVdAFTPFK27a#=zF;|A7gF)2sO7KkFLSJ@`_K;yezZKC&(Jyi)o|X&V`%7JEhJq8Hz8&$B#?0A3r9I)z zO}FB`uAxcVmk}I-2S2~(O@52vxcf=wiF6f95#PaUyS0VOD$W(!n5t!+*a@Hw)?Yq< zA)mF|xjdRLm{$M1vDV~pts3L`jU?s9qe1mgfoiz?!c^GF6d>S=@E1Coz zQ>p!KH|7uI~?w9f6y)0)*yz}XKmPX3UK&2ZPR^`ybssp%((syj-^b* zn*9_Tr}hz=M;vMJ7msnx$za^;2ve`?k#H97g&qX--XfNp40v`sMd_+9N$d^828-^0 zk&=52c?9piz4#1obQ~Le!8!53_}mVFr;X{7*7Z=D7rB~j+Y)ctxsYw798<0RW#O+l zue=v%bqQp`Q2H)b*->FxciAhI6z4D8i8m$ZNWY3l3C*MKon!Bv(8P-zYhH2dj7a@1 zahpl0H*gM!b2nR@_jGJMd~lx^Hsl1PuWAX`B5A3CU6 zs;%dIQ=FNUsC1=Umx3zFv9D55^CqrmBf3x9Kf0(ZsVBnHd?Clm5d*bt4seE_e#STHv4t#OJr06>`c^?z@|MJ@3oR*E#+6rS@4_Y z)~1`h8D(b*{rtgdfi^r=pPuUo_1J8y=TKIp38N{-M?xEJ`8Hhbef_u_f36PmzN-0*!N^Ujn{k{%GudcZ&O=84{K7*F)8Zqf}cbmVrZW@{<7RM ztQkd5=sF_k9at`2)UU3jPCFMKi@UFN`uUXnaph`^%rrp!hwar-v`pvYgin2_TMiy+ z@(UZ!$372|6Iqi3num_N>)03gUSom7v1W;u31K<^s+o0^i>{s406n}UXF~{vHpTR|L8tyy}4wF+-r{Z2ZeqB&+eF?2ze`(QCsL0UDFPk zzk$a)lvb{*tKj@d#5P?f-Q0}a-BD_N5ek3Pg~N=Mv+_-C8s$k;OQ?6Z1Z-I_Y@+Q+_U z4LzuHtPC^ybKMwqVdD*er^Y!#=hm5iV2=ggo0-h`83P>dcTR~@F;CadjB#t@IS;@; z2kG7u@h=c7IOo$0~#rq=U& zF%B*3c^wazvp~-=_Z8ET=Wf^|H8~e)-wKoGU~hP>moCX=y_3NEIDd=OgSb25y)RxO zHPXjp4bhi6PsB9OHruGeYfQng=GIJO<`<8Wb;5&)5nVE)hshtG%Q=@>bfK;xclDQT zNqw)|3$xp4(6wqV9fo4C@#S?6+dswnO=0%}9-npID&qQ$vsmXkrCJ^e&Bw+fE=ttN zUw9{R?CYaArFYntU^~1vvj@w%a@>8mIgq7jp5;8>9ko3?%fijaU8w0-So(cwgIr_=x#7&nRj@0#<{x3M`WfCeYGdNs+P#^;~}U*f(DUIls9i9c%VbobF#1`T-A${ZrU@H*{r?-qn3KA-Q2aR?*6I z@fY5JeXcdjqGGV1u^3DIxU$@-Oh3-dL>2pDS;zfN(jPahnd5%t<_{^6cV{|ubH26p z-LTJYXOynRl6+h+(Hi;UK$dl10naO)kuAzzYwO?ql>YP{soQb>s%-$FL*x)S7U$oW z&+}w3Q>BF-XUOLRkET$Ulx=;n#+o}eCCcWvy>TutkI$VZch885Yq_?co6CMlYAk!+`@FQbC}Ye9_RTlbsTooEWji@&4O)+Wq9OBrIO|h-I`Z8G9{a-E#2&jDZ+g9X zAW7XTWY?kB4E<=I%M6NH^q{T{6P*h?q4ABEsndo%UxSxFpxT7UyGyK+c_+uUkxFT_ zh8cbwaubOXr$ya6zk7{yiq4}64&kTdU347KKW=7k!g|A@98duH>BbStmHM8h^T_+=Sh@ALYg*|z;PbT2`oKBBZ zd1~?F@D{97U_)MyeG=(FoQl`6tYi7SW#7|m&o2ZHSJHbro+-Wz`bu^_(2mjy8=nLH z)H>rbRg96>unZq}-Y1mMn8ow8dQ%r&*Ce^fMC5!+P@_1knd7vz^cNjp4ef(kKIHMs z5OZMua%^Rbx_9^4D>q$FnL8K8VND)wOj7(MvPito9G{_$}cO00rmGeZOQ;#UU13cUAe3JGlZq4m1U3)3?1Kl0}`D)6kt>=EmSLm&% zSxgcq8T`cw@%9m_dZu1(D=Uedyw!goN-lQ0A4UcAM1pxPhGj;)+G0AXy82l8amHbG$!^K z?k>FpWw{Fgb2go)Y0SO5PhwwjEHk<9=6szC5V?UF3-MWPOdx;PB;4yndMfHoA;;pl zwmBSIzT6~6t_o!WfqpibsEj*mH)>3V)wuG*ILU~Vp{#aRQ)gSNUm+gj{bO07|^ zAq?}0^hs*xL*ssOFW6BD9}i`Ct^$6pGNkJ&#ivHRj^$YIefiUYpHVa-LB%&j{=fzh zz07^$95+5y+kWnw#<>06>|bzS(qD8fsPM8cNo=jO151|y=IzdU?F$P$I7{*cwe=%# z_uh1zwy|Xm?#}Uf{1$*AE`aGTcG-t|Lf%Ib!eN)jFh~?6$gA91*QlWXj?zv|D#r;;?v+o}=|7Fpq zKS#x%S+)dYCj>cfWdqNxoFgq2yGXNvSnv+tJ^!tRTo-4Xp*lave8IA%{pBM~4s;-3 zo@GAL`v`vUru-IZ)n#{p-y4cw@+sR!Y*FNn^FL1=nD5p|XH%^1ixheWe%?800@weH z1U&Cju9o3qtK%%r>-qC{)nQG0b8B?}AjdoxKM2{9Rd_VkJV-A@_x-tf>gOqcS;aHJ zVNd!dsYSn=Yw+5+HA|h$#8kznB7cx4iaTQwzbW&@BxkIa^I`tVd9sZBE1H5>Q)V{D zt9`^KfqrM5>z}=Kro`1R)Bd}QAJp!mzX`cx?uRA%EJoQ9!l$rFE<0_6>DZVx9(P~s zT%cv0z>K))!|Agrk$bK|2F~p|9?rfe`m(Jh-zS*7^|NmRFE66kBj-XeZMd~Y?KhX? z;9lA0BVDg9@WAi3Cl_$cf%P(EukITadlfK`cx{R)c%Xsv=EgjnpmZ!vH94N>+8)GY?!LX3>DYbOa;!N>yHX8jQUasF1W3{`( zYe0u50G?N9q@Jr5_LpC|`FQ42sk3sXv{3VJ#|8%kZlX4;Obp-|MPF)rRcs{K36kUB zT2QuKPK)Yg;64|7@!z`}^x|<1)fDr9?m=+z?9QP=pE&cyIPbeu6Q_`;wKk$rrWLvcOO2TeG6!#g z%$InAPHLg9iDeXQq@1twxli+GlN!a#tiOUs&HI%5+S&u=p|n0-#p?t=&~eiDw=IX` zEo14tXkE!QFyB4wJOG zJnpqQa52vl9uJu3(GiJC@9>*4zjN#z^7#kIx{c1Y(eKW-)>X&m7M7oF#dpvfL9S?)S2;!3+D0=OoW# z`NRI{2Xvjbqg;4=mjB`5lv7=lJK7~x~ zUt#+vPsh-(hT}HY&E9m=-pyCGH6Q3)q}Tw+oA=$hoqHm_WnQLdv@U=xfqi1!-oWwb z%jWlbI*KnOhQ_@N1>JW|#l5yW2lY%I!E>zb#=5yygl&LJbnFW{SA0gU&48b~ittD0 zQH?{XXEx3{)*PezVPzlC^9?VdzOHE@#}DTi zOWQy4UhuyVr#1QOW*?8U)>EdAQHu|Px8S;W*pLZWlS5bQSOMSNMqHi!9bY46L~~ri zAI0x%*V(%-yqUVs?=>0w5S^*@m*59)+U}i9ItsYKK11nF?dQt9z&i;Y-=y|U3%QTA zx7ny`)c_CoDFmPTET165n_2b_IH2oEWFPQpn6~c*sIAuT*f*2d$8snbF7~2gS?F7m&Nz2t*^owzsYIAAH>~5Gbk>`ny=^& zIwl;V4O{x4E%X=g&r7v$&UPL6!tKAnJP_cpyLn32o$@~D#go`6`aL;ckmnq&Wv1+d z*s{z}%3jqT_~}eb|Bw9F*ZF4x9?Ln_t9%f#)zL@x+JG~t^~|yt2y5nc)$>l}Ua+Hh z#yI$59^h$ko{r8JuwSs?hC8krvL@y(517Da> zXSJC1SMg{)2ZrrT*pPOI?!!4wdkW5~buy#!_^>zP+`dt+PvoCpYMV{=fjpG?kgm+E zbxLi;%R(EFy>DHQIbF%yt^>@Q=?d+~3Czgv9O!*I&&ulo{Pd)E(iMJKU$E{TvuFx| z4!LiumGgZ|v3H+!+8dW}KM2oannXn{&02(iioQSeF5QTG)i^t}ZW26$cQ~E^{4l@Q zn9rhmvLM5K$U!4F;quo!>TW69&yA0HEW|*l&9aI{=#>6cuIm`xvphD-aDNu~i|dUq zYQfe5o=-T4{LYNBC4k3o&eJ_vqEAt~JG#%`9L&?>Ub9-~)fDA>iu{3XGj&&@Ngmcr zSks@r(!F?64}dwq(u;?hTdaA4e%3Vu@}`huPkrSx{+yI~ps}@1mevJapUL^bL3hD6Ul3Z9GfEK0sR``tS`K1eyun^xhhRpv+CV<>hn)`(xgJxM%Ire5c*#2Q9N>n9H4&+V{JUhx2JtGo2<3#L4KGsV@`j|Dw%cMfPfJal)PZOEAB zO&bKy59>I9@F4h$^QXAGOV5+^d@b?K!C$GzEn>f^5@#ithjdLl-U9u?F&4)+3U)3W zfHjM#U!uxMiEWH`fAQq@E`HeG8I-Eli2f4Ui+NukkA4XFdB{|?kQ;@)D)4~Uan^n( zMb{O$_(`$noHl||hc$mgoa1<2e+NNg%kV4jUbLF?o@^iPrc)DDorB;I@5Q_f`8*M8 zFn3qyiCjKSL7fBq!H-9e0z3oEv%1$z_!Kq?*9m7=m+>s_ElzR^yo}lVQolN^nQMEt z7gy_ix5OM!kHo!-_yz>~r-^2mepC0|e8R8D$NlP6qS+_}fFn>D(6bp59o=cefed%r;4o2Bau@ z=C|N_8;<{=Hlq^zSXPHjrQbtw0HKY1o?Xnbz_jfYQd!5{oe*J808vtpBiHO0_z&6|z@%)6bGsBaG;mK$gFeryHhH*boOw-};x z^e!E8TogT+97p0>zK3H}elX;p+67C#pf0)9Ct;sks4l8+Lj14KYPV9L*O2?L=4P{0 z+pEB#+>7HsF^ySCc=u;%uC60u9NL(x_Vf3zaO^!6@Yp6+#}9?Z;)2$_pPacK7=!9Za>3ONe~-rAW=0F_Cv_=e zCk&a-^CfPi{Vn*^(5G`=XyzUbo~bg%Jg~$BiL-xxcBB&e8QY@}@x>wPDXPpC(|RQs)xgkMEv^SniC$JRh6w z@Jr0W$R2r|g}B7XS7F1KLzHoc;#P6tP*vje%SO*^g!qzcAlsR2JgB-trNEXRkBQQfuU1h;MW_0rL}vHE&{m zch1(|L2&&GcMdS(Efu(X98J(?iL67+s`>c6gqcoVaIdzeNc&c5cl z19Fw;Z*;CWPzIQ5=rpanU0E0EP2RaMh`YZ+_a!M`Sm+tC!J?`a)MNR6J zw63|QEp;rfE5Mp==9rdxg-|2?(9vAu!MWNLbDgfA59gcsP22H|U+y2+5v%+irZGDn zafyM$O=4N@2GIOQr;CtZ7 z3HHc|^0PwwL`*+CJ3{(Fb}pQQvl0oG>!JKEHWK8<>0bfQmc@CHbIrK4NLob<)@L8@ zzaO7XL9U5^zNPDtWFOere|{pD>l1ix#$6Q9@bJBuPucFx-?`9W%_QeC-K!`vitR)G z#%1M!BLGjSIBZOdW*0#zl6s^&!A0`>;i2}90v zZ22zC6;?G2f*-t>#A#EvaqRR7@@Ri2?3>HnR9?g1n^>o9Bs`?{1y);;@hUH%mp}W6wT0fruan2ck?WFz|1q5cRQQXm0ia^HRs=Z?pZ~F-b3Q~ z?(~zM#pL2A&dp71F1b$5x=F`Zg`Oen`1^x?*eycO?`!)IYw#8xd&-(vgTBa#*k><| z(DWSEgYC+O8q}Dv&3~0?qx)(_$H9MJb^iCElBnqVGoHejE0%e(ytbfKL$oV!efOnF&b;4P1QLT=B z$-85A#E92Er-Dt=t5`!%Me@7g$C4hpriDC9a0{KLb%DGWU}l>Q^=!$&b8nijYY&2a zFW91z8@<2ba_n=t*`j;5g;r5_n!WKVrqzAKbU3kvI5zYS`|p0PMMpfGzR>jv@~u^l z4YtRO-!U85mziMZWU4w4u@hjcb4&)aP`Gab^<$czg_j|Jc-AY&GXZlR{Tw|*0J7KZ ziD=B~h<$2`&(ZOp5bwBmFR$YqVt;d1LWG|Snd$Q(r*Ir~;&~Sw`+6>2tpPmD7j7*? zX({KaZ!jg%{KdN9$D0n=DyKIv@J#TafqDv*=~P#PRdlAm1(^CEd+;vS!PG%R##)q zNOOI1G@cRjA_|7cI(Alkhhp_BTeLao)vN@k(IVUA4*(>;gzL>ETeRlkd5Ruv z_~ayNlU4XQ&Kgep^!L$VBjGg?#E%Pnoxcocoo$wCUs!BxPi#b+`)qUyBYj33hW8S^ylda*j34?^+gd_D;AN?)aN~7boU^oCl{hVUkZo-A zL62e@Gk4l5Rv$o3euvw$=BQ^kN zp1*U{k-zoB`KE#Tn}EEAW!>Dzmr{Z|m!_?$^r#vJ!6DuvYxXe)-=01P@MN1yGnKzA z_84qPo(J1z$b3KW(@=c2{_eK;GT29AAne2P&qVDLxo3H-6DPh#-J3UYFXt$8QA>Fl z*S|<~XRupN`}C-|7TbO@3uSXjEY7NNu1--lZCHlia1+e|F%N|Ga>2)=V{lduwbl7tch;iM{k}tW z*>^bWN}8bOZ}>nj7JPiJ2~2CuN&|ixoK9M{FsKf zYZh>Q-9v)I*LB@jh~IJyFQ+(JCf=<*u;?;93ndg^b?4IXJT%VH@6mGxT-ye5iOEgW zp6BTB&(HO29~XySo9EKNPH<;gY|^m{?8EVdVAneba6M8#p^bNlMT z>0YgOWVSQ^>asfnrbp94uD4m@ zT&3X=eE}K8ee@aYXP+W<%kSyBCRu~CB(C1PX(ZrTPwz$7BXNxSww}|d-Ixte5$AwT z)N}Pke_;*J#OV2O)*pbwVlzSW4&GFJ5Xq6v@6{GCw{lXoEgIGZ>@OE=#y6)pzWRvf zix7+(6 z?G2t+*{($Tq+X{wJ!gq|ko_jf%W$llLcajMo@;!&{u zT6HTo9V&$mpP;dkeOsxz}R`y{h#E=n!&)XEGx{xT0x3-t-ol809as ztaEFqTpzZZS)^w+hU}kU$IA7T&NJoMPwAv%DIq?!etNx)>6Tl4IpCRNVxx2uWStK* zZ#W*#xxWUdjqWE(JCx1W*54v`@7973i#j5%k3#>&Vys!| zl(i7|gWW6N`q{aVYmK%z59&Ou*oTlm_oP9e?p$~$*5uJTUH=oN!=GO&=Kc$|jpvxv zk@Y{o4`Ak=HRRfu4$n0|N9L(PKga2Imr8OB0p}68qY@kaKM(m?O1MBxl8X?6miHP~fRO*8-k4 zW=>R17yBtT&w(j8xb!>V`9&(xIS%9*MW2da8IXE_IJ!>XOXvrBQ2L~}AB*es&em}) zkqNOeVkaP0a4lfoLMQ2%jOb{p>}Kp651mUU;vr`w~AFw&>+o980K~>;#ytx!qH{9hxVS_X0ekzk2NAIf^Sk24sTiD3!Wf{oTvB2TO^jMTHj6R^4;HL{P zJ9Jrv)XC71E%mIW1fLt&&h#19%riD$q*Ps7$am-ZRjJQBu$1@7Gk?*23PL}y0gC!$ z@(i3efakHaN!KU1YiwB~b#Y9Kb=po4-JNXPC2wS~|HXZ6y-aUCdnEMT0T+jU@r5nN z(es3b#!%Po|MWQH_m=Yv_AX|*rZHFNrdZ{vI4fMkaEAUq8e}H)p!=;l%v(;!J`K(q z{qAxv$lg%>Mhezs(|x)pB6KfHdU*L;b!^x5i0XX<<=O81XLmMTDIK9>AYt2v_sQWo zcl1s%rGV|oUc#9J^gg=hC=2CCUN zZzyhzs^R3ExV%NX1--aOY^^g#>s*d4TVC6KdgU2B|L|JpzK`~G{z9B}sd==8`f$WfS#G44*LksK27RLUfz2lNhUl;6 zO+VwTS=6P4_y*$GY(K*`=D6r?=gEw&hssO_hht6hUC!oB4`H84&TUb3o?=6uIIa_Q zDr)=#_SxtxO^k|Faz3T4i6an7+~ai|L2?oo)5Bd+^;`w*B_$*oDv-zLUPB z_fl$|vW@Fol1(=qrxhC#e8Kbs8e4=nwVb&q<)`L{1-xRS6V9}*# z#Em64T0A#F`Csn4hw2mjg*^W!hh|3cDQue<`<{8{oBa54=E2*|*^&K3020SZjuqcW z13Zh&J(i09xOP;E=+oGvRvil*);evpEy45??%#o4PR3a^#jUiA5}kq?;N3BEOb@Q# z;F(un>zYZ~Cn?UIMZn)lXT3aB%S`tzd~Uvg>kqjSC)jC)11shWQ%AMk$Zgajbda2?S~YMriR zi>!hDoOe;OX}2wB3f9y(1v>T)T>$<w^1%=lcz1syMA{+oXt`ht0MEcwS-F zMe`2V(#YHu{%$Gvh@GtM4Y7Nn-;X%!w1VTtz3DNncS3l!C7!uLzU}@Xov(E_+Y<2g>__Q(t_|CccW)?u zO7|vQ z+p9baF38`%s4hDnYkC>d-|l1{Grnr1jd4OyF``U}cFvadXY&hq4c(&Msw7iA4K+Or~FEC%-U`=mYt?5wi z4m*=;29Wz(iT6r2^R!M8eE}K8HIw+34fkNqGpFcSH^a&GZ0iL)&!Dba zf4QnzbZad~&>CZ4N?S=W3zCtO#_arKq7LcgidA$ahV>NuX&S;V|Epg_kDT{|lDt*8dn&vP#O-DLId z0uT6|=^6P!UUQWhs%zd50}*)8r%8GK!V>{c4(;%&yq>%}WN-e^cPM|?zIxn!qtjj2 zXNpci&8^fV?_78*&Z;pF>3jk9!CS;)UO_3rmS8&E>kQU>ihaPns3l&FI*?ua&H+3{ z<{MqBCO$sSdh?8H4Zb5*i8Y_nM(q!V^p17v+kd8Z4@-^fyL6V0uL_>gqfzqn*IX+y z5BvDdZmqvuxq0x>N|!^t84=#{xF}v`*srU#)sr1xH&gGNQ z{0*btrbfq3g}?BoT>D+LZuVJN6K4t|?F8HlHm&#9YK8wH0fNvad zF1x|GOV<%ez6tp_{zht`Nalf9bAQ%+A@2^_kX$y$ggFM%TH{B2VaUu0i%<_atT`R{ zsi7CN{UbUKGHTyUeCwySz7A_fn4?luT_w{7+pCfr-3=OJolEh`ClZ=RZ`V)D(F4_e zS2ot5c16dUL~g*>lh_x&$qxMNqc%FeDtw9HJ8*eZ%!y#8W2Xw9e?tojL>66?|SDp*OJx3#>db>ow^NcdcsC>X|S@U!a zImdr2#7Q16y`K7RUFXIsgNe~JhS>YgHRv~Yzx89$1>T67H|!0*;2yE;m)Cs*9M;le z9lHqY6#2$VmeAM|XSc3BfZSl8(SGTweAB5ht1Dn$Pe*D0BD_Z8v=s+97ul2U)i$Ka zL&VvVmZHz)mJ04!i=)+vipH3J_$fJbS?kc1pvB(FKroQjg7cIM07vulEsoi1*_9UdYukfZ3RR zaZ$bl$89#CCK)pc{|Nll6u+!_8T11@+ri5Vjxp)(EYr2lvD%)Ov%DVr%^&_k{+HMF z1UxJ00WEvOwz0%Onm64AJl|#B*0D<22XiX;y91y@_N`{nU3!i^ufe=8d*#(0)+xjJ zEu6D74`K~?5VP`byn*w%oJ-nBA4m2k1JCe@I8WVX=R(fwok-7QD*T9lin?W)o53>) z*?u0T^{J}|G0*&Ojg&vKl*{DN*+mx$y8@N6ZfOHKv*=MZbn+^F6hd3UKd=6(qNd5r!RcG&Nh`172toX=hB z+@@;}MAqT%tOwCQ$oxh0r^xvmfH^ri`1$C~l*9DH?{4Y2%^^Iyu}aubfVsht_RZy9 z;IAE9at5N-x&i#P(wV7e#tMId#y0282HXLUWOdoe_es`m)G5eyO%lz@ewuc z%om~W__*JJN;J>w92w_#cxJ53v9GOv9cPjAjQ(C*n(%38P7e2I;7y(3I=_Q8BA*w- zjyj@wQy0MV3SFe%H0-D3<*ue8o^{W(`m*l(lej4EHEUIGj>&MHd4tng$6K%uV>{@*Soe?aa&oC>wQA@UjY{9NGg)TOYIeVNZGPJaUn^epcs zy%piuj?sL|``EEbn4wh5d55;Z^G4@#T@M+K#ift_l8VZ5xd!HFb7ivfh}&!72liwZv)Js7>v&_DznjF}5?wm<{+mydk zv){Q*_kc4!v%f4ksju_7k2Rf6);d>gQS{4*Z8JVM2503_dp*k(a>KIF6Tvw|%%!;% z`;c>`rZJW+Y}7$+59a(#4b1o z^ddbG`Ari(3wO_)%YFUV;_khvN!KGutt|YDo4!AXb3pv9jZ*5ZXHbZb26~n}zPFtF zB5R%Zb$uQ4GW&Y`{R@0whHGG^nLBi^kh~Z2x%}-j=s51}s-x2*=XC>zcrVzr{CyD4 zTU|+iZoyB1Pc5~e+#koWxR-SNNAv~aexkcqnP+kLI9d}O54RIJKGxaf@7}iz`;4Lm z(eqN^n+Lmmg87*Pv;BbQ6*{25g)R7j4Injdqc<$UnkDA%+V>QAfM=nf%_Xc)8)%=7 zL%K2{)*A7|%{=p}ANE=6e5>tDIScxWXPqI&$h|o=&UM<~k$pIBgW7M@f?kh(dec%J zLlZiT^Rb`Hd7@c>XO_7vP037=EwI_72eY=Gzh96;7wZ~M(HHPN&->f4rsKz>e+Hg^ zq6hTcxir`Ivv^)5W>9c{(6vAV6%(oxjxQg~`_Oy3)=_er$v)H{W^--o6@a;v9=Fw5((i!Uxidfbgwio1 zi0irstkX2lI>quN$r|(*T!MX;IKNoR9upi&d=>pW_zD|v_`La8$5I4l_~vsTKf-iu zTDSx-d(EFB`x#wcmV6xZI_u@#y6z&xr}pEmkqh8&V6i=RZn}!|OMDga%%k>x%HK9+ zxv{`(i;|hJdu{0_3Z!k@&9+4G9a$i*ol*bSxz-pXb)rnRZJnjs-kN zo9)qc%bZJM+os31oZ|qGW!;n*RRaV6-D*GN|FL!D@l_UA`+c*KKmvgzkVK7PO$-DP zL6kt=85G3@Z~;_6#o$%J1zd<$Q6jhzP_YQ&0-~Z~ENWB=bwRXX5!{Mm!CIm2+W4s; zD%$GzJZJ9Bos*E?@BTNLca}3}KhN1~%6C^@g!7qd=j+-@d0*f^sRcI})ONMQw}5Y~ z=`i6FPI+Um>3?TNN6d4LS)%KtoX(aLvQH@TjhWMRui2~fP8|==jAaeI&7hW(Sd=C@ zEJMX}Weofhm((q0T*m2Rf7X4sMOO#kIIM?vX91P`{}=fyvp0Jz&tZ*@^H>3>ZM~hP7hCsy|UsigT7Q9 zF{aLR(=}r5oKw(q{7|9*XTfUd0Um}i zC)jVaz9DZA_#0mjULOG`nKiQw)xWi@Ne6Gi8{Bj=>XP1ARmAzzE}!TbbH&cYN$Kh6dTL*njsABR{9b)-oe zQ!eo>_Mj=Euafzzr|;K?9~OK&-)6EVf_L*j?TbS!fVkh{Lo2FkOqDTTwTdr`Zgb@m zy9{XQM%>rxXs)j56MhJ+Mb?AB?xz26S2SG5G#&k<1dnb(%w^-K^W@0oswqJEGv_c$F35L!)j zu|MF4Ghd=1`bhg}`#0bc*{%P`HguF z2Vfqc5D_BE|lo(%jgX`;^~p7Jk4et5jj zD*%1sou&os)zXjhi`XM4bZjA;Lehq-3C*vfk0^+K(K+OCIT-wwo@cu=zD$4bj85JC zoLixJobxN`py!&hVHmU4oUQW)MMuK<5YHjo^_>iYOLTr6?gHx}Hp0J{i^cr03Nxo= z?_kIR*hIvaDA}@xKC7>zO=*Yt>*3zX!w;AaU)+c}J#aoIx_CeJ=D3UHd(e}#ri?W{ zm)Kfen=JAIJbXP&i}JyZ5AuA11)8rq`U$0m1%5y7JqSM5?^NgqI)A^FUovlycsqmb z0G;FE&N+;odJb@IiQ&&R|5eA$-Frv>+{x|e4=27ld@{Pvtnhj8Ucs4kc`2xh(78tZ z7X2j5!2|y(mv3FE^8w=b9!iglM8Dd6?KkEdWL%iIVVx7b>ZY_hXX&TFnrrk`JQQo5 z8l9{C04`SI@&O<#nafvfe$nwS@wdR|AibyQ&trYlG<}9bKd^;6Jkis3XFeByx9XfO z-UV%8(MkFOM@VvMblq0soM980khn&)L7vZ6vWYeb&v4<-I}B_z#vPtFx%<(PaPP#T z?7zYiYjKjbZ``+-((s98-LjsEbq_P5q+W~}Y(qsmMvdwY?_*6FyX_;%W+IXtVo zr!n8AB3jWBM^WBI`0*QCi1)PsW2$WrEpz2g!Nd1`vV`@^oiPS@!uuT)UVrT41~^nt zVm)jh80p6*Mi63}7h}yYK{-)!P}U58W{lBL_8@RR(?f`r=z-qvN&DO87kTf4)omlQe8(NexcHsPE_n`mlf6DmVfYK5 zPnVto7X2og4Ct_WXIcyUg6}j8o*qBnBBwNlyC^j~bZs(eo^t2nZ+01AaWBT0TWx{X zk%Ts&Z%EH^_E9B&uFx@P(7deqnA4DZ$$VPgSI|lq1zE63FR$y;-J;hadj=h4d+OXmo-_3*+NY(H z%XnX(nN=F|O5z2Oae^H&81W0dFFRTLh;Tl%g(Wr$Y$)oqADH9w)LTx>BYpY?j$r>~ z@WlQ4c2IK-e?rETtFfN3(P$ml6Iun|kX$~8ua#~O)&31RpR6|Fvezyo9@-fAthQAT zX{X|GVh;lAjCqU$9rhB<90%^QFeq6aIs{sCg0b?z7f0rf{JhsqqG7U+@(K4^6f`M>k1K z+%#&Ro?x%xecgTUo0M_i<6H1qX@8587df$yPr8eExgF%~9IpM?G6u0@$xrxo@fBFl zuBcAegbHuLw}=B%^cs5WfDC5+p!>FS&7iUHiOyKhlm(2ZJY=42RnJKN9DbLUZ{bIJ z7Gs{VUuZp3daX2(ltP2 z-q-aqF5VP|tffM&2Xk_AZKU-&$Di51`&iq5@wA1Qr@#G8(;>%D<}Rr#XKxEv=TfD8 zAaR-E=qJC5If11%(sD;=1AYLhFJK>M_AHycA3r~AkdDtF_lZ3Ya2NK*6cxV^+Ccnb z?8IXBEhTp7qUb-Z`9=tREFSw~{otAQxR(9|$^z66j@ZIFO}@cW`?>akIK9{9c%*RpF1+ty_B0uY^$fK0 za2Lrj0nP{VB91qhUsZ`Q2ia?bLr{gCm?y~K`^wA+887I$!hUT?&zE)Vo#Ks=I&tJM zFy9#d=QWsTb@VAP8@(~q>);=Yt@vO|6sxW2f;CT#g7og*m{9HuehI;d?wXS!^IV4h zgWf#gKa>T*E1S@>thR>ze9@m9_Kr7(Jd-iR7v?=kKLBHYbM0}6FMDGcmmwY_<9a1i z7t~^3!K@eH1M$Z2-f5%V*KfC}w8-IP{Odd9ig;th{=!`x{XKe8)GrmkR&W>MGRZO6 z7xtc=9WJ}&UD{|j;ogVX9ch)`m_YOm#CIeX>3mK7Ocik2y?G?xIBbhNEA-#lx%(E( zGsa#E|Ef1ecqZ<2&7ZzES{>a1%A1c;wbJFtsAgt{|-!+>L^$KXzht$LJ2o)z(b&|f%9-G$H(_#v@JU^~!G zL181}gWf!DJ+A*3>OF^&4$Yri(keC&{b%p!TIO`!0NSXFzJp)1#XRuW#fCgF!XPh& zdgfBI09YSt3@#o#d|UfBSjR!XO)onrPrV&S^Kp5xPW-fwn1yNny$8Hg>QNsYn8F419_(&!jL4L%ba(Gl7F1x&^5}nv(I>~a z_l{TqbI4IE&9{8B{SCHfat!HE?)};?4`lw&Y|L|@odaL4H%9C@=q-!^0f%am?0qSE zj(cO=8HUcjpiH68-vcqbk=g!Yj zbSS(9eC)gzuP~(xG9Cy0OgF#7hnAct01gB0G&3eROKWGg!FuYd56V<`A@4LRC6?Op zK66C<(j&32;pRI<8=>$G&<62jhEz3DrUb#Wd1XEi2Okrj`OH!Cnb*V^{Z{h^YDSXl z33I^fU{lAUmww_I(jI)(yodZBZ;X384ub-|l#B4KUD2b+HA;?gd;_-C8^^y+{|0lq zGVF5X3?#>d;v0nS2R{Jw!|8Jv8=Zlix8xYgCafnlB*yrGJLYbLKEF8{gZwcy27DFg zOg|g+=TfX^x_J{d8r~SEOSpdYSTp?q6_J5Xn;he0CGK?7@m)@X02W@8>{HO0?K;pd_VHcF>QN!-wNfNaXzB|U=Dn%&R&nW zp0^&kQ^aZ|o-%JK^OiS9n~`thjS=1gOasYD#=eC%PR;YrIZk8gl3yo2E5<=iZ>z=# z|3Q8NH3shsI<4eBF%K3#hoPS!H^UnvIsoLm?0w@X#(W#18=+%+W5_p{o57mU z!7eXul9>$qLXE+hL2scggWAau^HiAJ4&6OI7CJf%C63>Jo%r0=}2HNe1r8%R~nA_C-5%3F|<#Se;7Nb^K&MJ{ZGMP%qNH?CCA`S z@vXE_`ch#Y))yRRx1shVIfi!%-kTXac=i(0y)nXj)7hsckNjtW z%yVX{PxFqCfgkct`~Of$Ubn#hpmjfa7udVx9_*=Pp58FKA)}lBE!jJ2PuNQxa`5l; zSygvJzNohznFsRg=A}oP&T|D@wW8W0x7iy*c}jh(&pSsmckV^#ki$&_`XzZ|9G^$s zan8vWKB5b-FW^4G-{OrC{)2d>V9PswqoR6e8-MQsX^eWW^x7c*VVtNQJ~TBCb&^!+ z4Tl`pEPQKM^mdBUH^_Sf_?8!ahyE$RqsE%k%`K?2OU?ti6Ec1pPAhoPlpi;Tye?)^ z(|s8iCTtMN?O|OGf3LyM@699c0&5mo@I=F-So5Ry8`QaYW86H*E&Krahtx&6=5OJv zOpX!$LmhkBDZn-yF=q(osgJ6)y(9aAj$LZOe|F5J&OgH#)I@mmhz$#Tb;;i-tEGO3 zm}Z(UB|Kes-Leo4fCroZ<-eLjvSq&R$jmn$;D<{~dQIZu!&{3j*0Y4ZDa$aPyT5PNV0 z;$Pkvz8%)S2{z`Q$_ucbnCYA1ugA$R_(_P30H4E~GS2|bf8-6qFM4lXIpettF(zil zXQ{U%zEjxdr7zT&a{7D8>v|w|qt=5n%xVMsYm-6jhWYAs)fXTxqsH(JrUd8jJJk03 z{deZCt}^dv{ZQ@#`zjuc8q7VFZyUziZbaUWH;;=Y#cfaGyYOf9eaV`$GD7P7sO9_) z``Tz80-m`ykHo2=|J+fESnYLN^5jl`0XCF3#_>$@-T_GC-}(;d@Lp4^&Zn6+*e9#| zN4v*jJ>Qug+OCu}L!Qzn1OE9W#yn|XM;xT(x1eu~NL^y!@4XuI)61p=>Rrgar=`1o zHx6TArC9|GB|Q({psQ89dsOX3)I}%aTNCY-%0>%atw#p>fTQo*1oUb_J)=D#^!F7&c5|MP zbO_pDPEJKM2!8eCx5PgtG1eRO#`G3t`MdE|Y? z?PbV z`2VuF9oD=&%4oeW#NT7gU4ajFij4V0`I_W?!7hkpkDP5#Q!@{|x2}2<@`#dqckdlM zoY*6k8BuzMb@Aw<9mt8{_;x@p?Vxol=J!18huhOq@1i zd#*Z|z033Qtzg!JibuI~M(!^4aP-Ba@BQm&7V6f$c@lg~Fu`0t$=A`9sH;tmiQ9vr z;2QPcUCF*nKtL}xI zf#kR1dru7t$80d@3;Yn)^N^hZOjK`-==0!*tB)FBf%D%7V|JUzTJZ$&BT?TdEM9RB z_+f$RhI$8Y9>^5N5S@%;9U{)he5mwrw=cXed8c<~kml>6ClDv{=5e}c3VP=qOWe6H zFwa_>uXH4L?`=}Ue$qVND#frz&Q^(E~doTs{Dc<=wUKhvlAOTB|po+-6vu&HOSf$zP3X&vrs zTXdZE5s5qnpMU?vTd9lE*L{|KK=V4MC*%ZOufN$GJ9g~d7_&NBuIF**lOx#I&+v14v^ipUV%4{#81=0;I^CK zD_CJuKpVH3^OepobV&agda_&O^11hw)z;@xl-;lk!tnQjq3wR?&abie@n#<|NR!{9 z-XeTMYC=Doa1GY8*L>B;`nZ;3kpCmN z2Q_7bG3M*23K;&$G0pPgPp4(s?t3clz@4r)542HlM|@4lIe9hbbW=qC2KRoG($(X# zDUP++oV$y%&}=kaE1wt5$m zpOESLY4)$JStESo8DK#tF|pOcliclLZiynx>tW=j;!lP8F7 zEc+_W>5p@sZZ6XCO6es5AGP#~a##czb_;qYwpb7C9qB2#anyzQ);N2n(j|n?vp0cY zl(FWTy3N93$( zkGeefIUacz-WWMU$ja;fhP$XKBUZz3Gf>lfT*r1jE?IX&9rD#yZxCllytpIGf%QvS z2edqTP~Am9+8{og)LT_G9*l3zFw0VW*)2L`ke=pZ>j^z!NgMy1u`e(M_^c|AMn6sV zV&(52=#lE}OKcg)_p?{SMtfro^}{qfUd0DV&%*0iD_z;Nfx1l(dx*9x-QEQoigB43 z#;lLJwc0ymWjsIO_&Mz7+tZ$*{bO=p;NgO8*tCK6#l`loq2lxM-Z9UM&p&2*x8KS$ zTx<5}^~jnb-zAS|&VZHhKi5^S?x^^N@Jzf@!MC}48hyeUcAWNW@eQ)hE_Ud@T_1U3 z?)(4@ZSM?4?!Z@Y^h3cg_-P}|Gt~^&aVv>wA{TW2h+NyJF>jBo`D5fLdh^JdQI~z& zbC;X$8%EI@0UO8 zj(IA~)yU=Z_7&#|^4=@D=FG>M=i38N7PxVK z+dGan(xhK)@v`l&V4km|cQqZ#n(-~c)E&~ucuKncqMdJpP#0wk$i=eR!ecRvmNX+w__7!l=Jm;4x7nza;8F!Kn%`2$0 zOMXja6K&6{fs2m3uN$!D0<&J{vq7eSeo}&0(g$16Gkwc9nc=`yOU~ooGVB8S;)di` zu`c^$^CfU{yfKIc$Q$ICoOPcajd^mcMeRv)jOc9WmxMlsYwWR=(o=GQ*#vxbZ;ae2 z@?Ztyx6PDW@vSe-t>{zZjltd-mw`XwJoa6B9rsmlwxizD8{_m$mmk%WJ$hJc-%r_t z&2hBMrPGK(${L@O&97QkCTN~`)bKH~wxX{crRQ<-G)?fa%NI|30P|$qN$IV40%J+U zEky0fX_%*>`f<$mBn=mM>GF+i;## zvGFU3Z^zowwdg&RJfC>}Pw090 zteNStzGs|h@|~Vg5&fE?-m>_k;BS$>9y{h{;amSRC0fRb{*&ZCEAg$B_C3_XB+r?= z1@AN`q`lMZ`$|)O8}5tp!trodPgEbB*D99HG2!j2p#KaQQHA?D*<7S~rtnqx(Cld? zwny;_*7@e!Ey!C=u7^1c5@ThrI=ruwF=lzRMCSyOhf~L<4N}^e*9K!ubTBX^y?K~# z9Au@2w5?z}jKjSzk8anwYJ3;WSAXew$Z;i2MqZT+hMrf7yHT~8@Y%k(V zP}lkcYID3XtkFP?nD~GCU$^CMe9J^r(v>ce@QX6PZpgq9qd8Bs3pkU>d2pws`F1hs zE8TZzE!H#Lu2Zr=d7!<_ne%#EO6>sf@K43JzBHGs9BJ|~>RPc?MW08=f4%}^mPd1d`{eD*$=uYC z{-|Da1{{Mib=BkcmzUz~FYr3*{Poduz+FksW8m85tQ%bpo>>u9WUDdpw;W3E zvyGz|W8G@b$x*hI@G;~pF<&cx+P=k@r=j|H?Wc8qq&S{TV;*tma_qf2FW2!*=xhfW zQ@D2K0l4?N>dS$Po?Nr=dB)KMlWh^7TMf#6d_8BmDP=#qv18}hE0p}gdho~mG4zndw^&nrsomSr zmnn?7Ada6JcA0RnMXZ*(@!fW58=r@B9?{3%JpC%uVeQPrF=nhe3|I}`nq^z)c{;gt>jQI-hz2?jN&7g!{_ayq2c;6B_1Z|{lKgN`Q zKH)XoXrc8ncOAC4tYsNRWsMm-O8iP);e{Y=U3 z%4u@%tJ=5rL&8oW&Ng%s_EcJBCTRb&leuXjvF^bSSra-n`cnBEs7HauGQxP=fjIUD z*|T)aMeJ_WmB^T@YA(P$_0b>G{kIe6bq=Qj{?$jYW@8>vx)x%`*gMv|`9Jx#i1j;^ zOKJ5AVDZ=RiEdv(pZ9P2sEhUfv2JRc`>L1QmIUq;=A`Rdo$OVpa(n5>N05xdti zwtgz@rl20!?Z6|)hU~{XYLzgQ8osIo>5cg!R>|(n@#ZQHg zF|S*6q@~-x!oG%^rRlyuGj12;gp%u6Thk8n+-rtr`e)e851E_MHLvP%(sOl8+n&z8 zNC^i1xx@@{{aCk~CY7u2a#O(*a$ZG_eR=JrIKvC==ytyRa(97yUo^0@?KKYXhJOBo zG*5sXC$gvnA95H-8>iTRDBDW-5936_>xx&f?r*yJ z7y4X#^T@YAKj^DSTlj8_xze7fbrQ!D(qqJ&>A$sfIL6dP!&}AzD0ec$l!q3YA)}F( zLf!Zp9YYkIB%A%a(<#4d{ov;(77F;rZMf6% z=2Gp$Pso&!9se&Xa(zY?MZadL_eGvbzaML|fTPG*+nM&!*0q7mk?uMF!w49O$79TA z<{+ip1XA~h_eDAct+E$Vy_u)y5gPrw9Nz$c7N7aVb$4LQ z(`KUbnG5~kPD94FP%r#D-=G<*&KdNKyTHDr&qz&KC#-p|nXPgdNb|yJsGh`I++!@~Gd!x7wO7 zl6S|8B&E%kZtS<|Q4wA^lJXkaJ#!_fFp1sPuVx%K?07QY+2AX8hJM%Ivl7$9+g^Dqz*xsY-q`>D9_k_*{+CZNO=GS$$?*czT(IEz}EgNxKO+ zX36!$^KH@u1E*rzzCU8kDfVoYv+d|7OX9G$q^fZbcwK?{Gq72b^EjUau>zDZi+l%d zbgsIPIZM-VhNbofU^XW2!qHfI9IxO%8{Ws5754a0$w8S1^6QkZhOw@MxoV~6f2l3v z4!8{1R+494Ui-Dk<%_hh2`57vBNsN4&BZ(gwq1MQpCGv_w5{%Ys;})!dz$xtvU-EG9mE$WxbZIDeYrhe zzc11u__M=Oo`$+M+6D6hrSnVN3S(%?APz!(EYr5n_vHohC9rqsNIO?dw-_@9W5(Dg zb$zbfDRcn(9E$cWo{MjdHIm3*v*As9gs0 zCFmEWEZA+H4%D}VZy;~ywdECZ!K7VTdccY^F(xp3buO0E)zOpd(>pC%ig7HisO3^hF|!$sbuVicY3X& zXSq}Q(BxfASuh)85WCU3vFLS>U#!7IzX|&Nf~ZQpFY)uUZw_$7Z2uZy`_M=9fzJO) zyd7dkAf9`&j7di?67MdAkKtRLHuPq%%m(nor6y{t?u+ysqP9Z({H%kf9$um2o?_=_ zrw7EQ1MemM3^p~|hnA4J^p9oGR_3o(;~pe<3;Al%Zt|AChPcLDw9^Dj?lf0;)yW_2`8+l+2s=~6$48Yudj-ZX#LamEBa3)XaP z&0L&Mwp|Mx`y_3+99P&)U)2LIWf$sP$mhGX_4UKJo{$pToq42*jc$@Wkm!ySwRhNq z;H#;z%j(XyJ@3pIh;Ic^ldA9LJh(6TA>RX5!^Tldu;!)a2K5G=P7B#oShCQTqV*8g zQ(-^vq~yE!6T-H!|J_<@`j2ipPvrakZGD=@8^j;%W%$)?#a8f4`T^FqqA}F8P5t@hYM?YH!_ShwV-T_>`LUw%6kW2{i5f27Wg)|;SA^550woP zx8E~E)|DLCw1IMPy@@nt2vvdxp`0(+T*;~2KbzA7?|Hfph zTq8&G;4OloJ-Uf`xxic2`H;?+60f&P;A20g>m5ix-22jQs2{AY8IASqik4_!CFK`# zWn)**?r+*Uyp)RS44q>y_A=g%)NM6wsK%Pdni;yT-<@+x`1(HhH});2Pv&HE%6@#g z*cat8;zTjb^N9IG>o%lkyo>O{cjgfP=RVAnY5%Etujop*wcHW@10E$g+f5t#VqbOD$7|mg^aS!K*C)L(?*fboqREO@on3%; zO8V)|JT&g>Llr;edZ5o|3T|_kUluPwc z8l+=M&bN~;xmeJR&!SBfRcT*=tQoN+@`Oqkw`zzEZ@V9VW=~yo+o^W}`7S=Rc)VZ%z7+%q=`o@wfIl;42kdL+qF-ZXDE&Du zyW@4o!-|=!Kis_BGWQZ613wfTGp>iZ)>D<8;`R>xS$ah!>fgKO`*9i4JnWs!*ogU0 z6YrEfGu`}2=}~SB^q*@kz0q{vII3wVc;?WpItDHG4&UH!w=U;7Gw#sWj#jpe%mW;= zV9~(E2L348x#P_%DqbLKrjNS#$3d)XdlvLlZ!TASUThG`FJi&r-kC%GNBdK2-wtS1 za&q!>wz9r^x5?18+fK($367hw(G1$ToAypaboqX01N=wMaD{a^oWH2tFh?7Br;;Bv z4m^XgwhLALve?wL9fanc-utGRu5wB-58qcxaCBpZE&pZ%edbF{S5?#J;upAgu`Bbd zy5hdJMQ^BB8~6|C5N}!f0WFif+`jf8;Ng4pOxYAdN7^*(Sn4g*H)hx@U2Demgy|{a z+JBbW^3NvFC$q$k)BMNrmdseg<15%_jegOFp`VAoy_|@-#6Ihb9xIJ`#M{|!QUm4x zk#B)N3;itHejCOtkM=3qE%vhHu2grqKSdpI9X9!Te`VHa+j2mX3YxjZW3L zPx39$59<&s9=5DU8*I+kJ~Y}y%**XD4t6)skhy5r2Z~3zd7MueJaZY=v&^0X>`?EV zIVM02_@3##Y(LsDtigO+z0(A3i2j4xQu^7_O)RZ%t9fAWNZ+o;yoa&ohwK8)=jB_V zF~O9(Z~^_#tD~n{+78%PYDy@w`^EuW5Bh^B`f+@NvS15(3glHWp3)EvR=HTtKL%am zr_qnv?zJ_8@U5QqAF93*@7?hz+9~~!n<4Z3TgS~sM@mb9|7V1)+%fkitY@apQ~GMW zMl}o_BfK}i%H73#y50(V7aR7PgAILX=VP9R>Vp+; zk@F#jKVvR^+HWn#-UG8l@KzkbHn+&M8%Fn zK4r#6nVW$=Su4R;8=`krjLf|+*k}(88foEkAhy_0yB+=7lIP=eb?92m!_S|(;0TP_ zRy{%IHq%!L`#l)9X&AAKhhfY&=1c955?@?eJH&;6M! z7wl_S)E3yq-g*-FnT#EmTm>9^<~kmj>%UWX&WOjYUH*#c)tGk!#?(b?TE!Wmv!w*$ zvueyc9cvzF{?JOMQ1=TS|6!y-zZ>@CY8ZMr`T=?C5!)QHKzMiL?Fn>=|cCO@) zfzOYhJdfBBg;-BNbE;a8^EIWXJDbSSd|$g)+4#gBfiEQ`{B#ETr#PS0a>n{arZux7N+3R)j@l9b@_#sb@~y!LXedA%voH8s#z z<$Vq6w}$rDJd7D)N4CO`lK7zXjBd<34r^W=b<=gwv}O1$!PI4LD&@tu3Ogdse;hVl z(GQj6KMkgz(rp4+PuonF-!i&s1@~Tkx%RI@M*{t{m6|Nb!QRx3tLJJxT=Y!P81vcC z3#kM4wJX}J`MmhYpx3eAF>0V#pBpoW0|z*Hr=m;1Pl8_I{aE)`i#3loKj-=Uknf$m zC6U9x+R0)w8@)EXc@jGImlhbvU2{0k)F@r&qKnS~y2Me7N=Szju%4I9@2&8xco)F8 zL99P}EA`dSOj*lXa;zto8EZP|9})bSTX8;{qx1B>Xqz*4S8%%WtJo`Hu$idq+Jt8! zCZ1Lh+J2~U#u)}dLo2yVd(h>6GtYr}aVv8C^Ko|yJ|?yQpi+#PVJ0XXDyOqy9*LW? z-yhD$j89j#p1k)qaeP1eSBWcfoQ@q+f2K~m;W7BE8i1R{d!MND6XbnC#b?52lRQ2J#}!FEvzY9#xd1f(8DPCEvJ(Jdt}DWl1 zkNBAE{aj6BvM-}ZtzUj6AfXGFnKr$S4R_dE{)?YneY{?VT_FWd`0!A=*^wv3GNMo zKa0ONzv@h!&o`zlzjsR>MVeIM-Ya^7)5m^UOyA(Y%)|QakXBj8 zx@p!{o+0(9;U=e3uNL1Dy+wMqZdo%4W717pjxW0%uftu)z0Voo@=kxu^<(|C@#R~~ zLX-%({ve_Ku&v4&;Q7#omDt~*JICWrr<>)iwRE!QJ8 zXDjQ?r<>|l7^INzslkI+o@sh?&Do9nN;kJ_JS$lb#t23t?+b5vR+^$8Cz~J#1>11f z?n;b7Fi87AgnnSl$Qakxth0SC&yT-L&UTR6j5|jk+ClbI?R%GZ3i&0tYBgo|V$34@ zb4KeN57?)IE&m!Y1X!nesm3)D-itMF-8q~-J?cnGr^xoz z{vX(Jcwb@2UaQa#Ps85pOb_(3Nz$|P4I)-@Ofp*(Gf zuE_D<7uFn#e3!gI=euZ#E(-iHf}_aunS>k<)DM0y^7Lt)zae%dbYrob3MAh+*DUL( zbS>ct;F)GP@{tCPI2!BeYzJ!phU^`_6p1M?7m~l@(A%r!IcJ6e`zBWm9B~uo*=qhz z+owW5i8CBK_5qyX1NNR)HDd6$pnvXfdrYs5qo}jBwO^(AHms8cps~YmDYVE(dK6$8idFH`=e}>PT z_@cxu9D=@7$-N7&gRe5IUHrT0HErK-xQor^M2$rtJ_lf-%zX1Z=E)GJw63~$=DF4u4~%c}3|7@jRJSiP`m9Gn4+ztL=Z)zMLN$ zG%tO`YRVYToo+i2i<{p%iM>by;$w%Y86kVIA)jq5XmzalBYHi1_a(fgO$vV zAI*78J00tHdS)1$n7ZB~7poHcT529^@6SV@gT$@avjaY1>d!fLk-`Is`*Kr)dE2_t z?^h=8^f6__Ch~*>seN<0Xnl03_WKDBPY2#0dOVfS+|mwfHqkX28;W`h^Vz0du+LP} zr_SGt+CCNDi`WD)oe*PXuKwz1n6AN;cbbtQ_&>SC?`8hRW1;ff$UIr_1N1n@lnfX_ zU%?}0Zfl*NHP^?T+ry%_DQ&$E%;PHWo$^ccaQ3%?jh2lyqd%j@S9duKVQ}rpF}8bt z6?0|Bn>ETeC^SYN{!15sLLcn87*kQb5`8(ndnZ36&-~`c9D8hj)gr8Ub@Z&x{l>lX zPMvP-uolOftCe5E@t<~?!1F}iG3WyGEVZjNe-;`;%@J+1?!$_Su{qcjX8E#7LQ(P1D+X=3zOz2*(vSSJVG0IgT(JG99Eo*Z`GSSH5Q!kdCVjI zN*u1yZDyOcg(b%oV+02{zl!;O=iAx)d4tf|z+2dpYXXxvcRrY(G z59xeXIj&dloBQ~cfaGnuQOf-!r|lbUb1cNzx$7hP%(Xw2)5^_1ARl;1DTH=IqBpYS8yp?vS| z?LgmPop|?b_`?|+{f8Pu`%7#P)^Q-uoP2eex%BC=u>g?01M&@P&!QVRier)=_ za2GkD=m51f#BUjIcBxpB^TC2PUf&%tm-t-leWWe#pxz+mGITaqvsEn8(-!o_9bty@|VS2bGCh5`7UUGK{llXzx{r&?MK;79s4VV z?L%1!{=<4b+Q*laR|Zme!k?>m7r* zR6D-Y<}prRO_iMF{BMwVF?MW6n}hg7i7`U+>4mQD*w=V-q0aFTzXZ;w+mJnG&@*|= zf$3>ttn+oBDlJ9ZDlD1%lK#R|7PQA*WZDN+PN0()kOj0WOIKLN^){QosQ2Y)Lumdr zgZ|y4FwgqvW1UNby^F7V(7{LBA<)Bd&K1!AH-@U2WHTX14iIm&zlo<%vXH) zkhvk!{K|j-{Q^1Xqm@2JdPY9Biv^TSE?aE4o@-SuUxI#+tN)$p&YoqI7aepBl-Nzs z)kS{w-C2!&?TRY3+>tR^sSY>(_&Gx`rmlLM!pful1-=oV=Q_ME#t?TYJ|;Yh^fRkI z*A5vw_F?SnVSBrl%W)gT`JZ>pWlrf}bDNgAjvvPBt)?s(g?Sc5i&X9bbHAl`4C`}Y zI}j&%p6>t*1oRfrPt>Mq!&}wVAuIDez1NWcfL2@R zy@%#|{aCGwgFr3|j>p~87;8J(9+mI)xt;}E4^IO0bINxIk^c~L?<`xL@7dJ(AO~~(=+`A1R zn?;`&pA4~``8(U6$MAf>$Kt)K<_s_x104JOp2;=axUUk}hL4|T`}Ey;7uK9+C+8o6 zG2Ah&OgU%F6Wg#6`7P@{dj;!RYGNL3EH|RFkte8LbrZ@Bz@5A2j zwY8wtW}C>}7vm|a-`}-Zb7G7!j@Ko8<_X-D>sqY`vMCk4dZF^Uyd7h2@aD;teNldC zEP@;5oa6K?w1Inv51&}dgBzcKeLB$Gn%_HlhVljl`w_U-roZc9-C*kd+OAo0&WsN# zjE>vYWkATlh-|}$B0Y;9jad8k6~Yl`#L$Xo)#EN zEAx|n+B(n%WgPBQ<%c(T^MK|ht_S-|VcoCtd7TLulL}k*o_-4NqM84YA7b;6@27qI zg~^><_M`MMd>ZG|JcjQA=Yw-5HbTG2W#{9ZkFn3@_iBEFShLtEpp9YIzD_(e+D(Ja zpZz;Ev9#$O6(>?B#3jHK_Bw81t0cZTS@~&PVQo zJREPiTzJcN|D5AA2LCGKM5seN8+TD*|K-sSzAks#GC$$pq~}Y>RjGZ%?>!~>=!Zx7 zE$Wb)&Bs0;Yo=$xipl5uV-D44kd^vQVLQa*R_s;Bp6s8ulwYI`j;S;GdnyNEOtJaO ze_zdVIas_Bb-wI14;r&g-n|FpEueYGO4X0`8_-XJHtHhr!4hLi#T~xWe5{l3=bUiR zAroz75D-gevHc$FNzAi8PGeZJihKT)U)gH!X`zc{m(`wt`|4?a@$W0XX4r!d?ODWr zKyO3l4mSVu&)GO!HSznQFI80|`zAM3rxqmnMlcK5p?vQxu*KRHcyBrWPO*3Ds};p7 zi1{$w<`$GEY0SMZ@(sxqar)svlULx$W!?ptLc1KP4TS&aE<>MZet{=X4SlD=$5cP@ zf&xz`iPH~wogKc!bSEwpe(Ybk5Z2HV36x+TXL7n=b6e7F(0pv3v7tQ_F22Wtj@ z7T%(2-;OBobWynrjL8hzeDetL>rTR5ylDpM_3%zz?$b@|{c#l5Q(*?gqjDFvsA&n#UygYKrqwJ3RB%(Qv$r1pU-S`}gx7Uyzh3G6tJ(i48uoz~goCZ-K@n zMo+vM==0_je?4)U2S2>BVkzqse#iOTYfdXj<{C}6wBO0+b-$!>SWol5NMl$J^vpN! zI-GqTZ@{;1u&4X)ROF7#Q=4@Od-*Y!=4&&)psacC;2Uv2fb%sa`ZAp3-v!r9-jW(f zFWM1v-Z0E*pX|To#C@d(?GFQHBWrFLZ;D||;+%y)V`J$pYF*Fw&)MlMt#WCm_&iG1 z16mEyKjk&k0eTD8Q);IBH0Jau((~CXj42_uGiWusqQJBD;`4xhe)wb|>-x{a`4pQO zm?yDjyq*2#Q2oLGmb`bYCnxCF0E~|AIrQ61H`i)@NV^jG>cKTD2HHy2Q?riadVOCq zCbON$!49a8qdbl3_Cr6AJIo1$9ArMg3^S*|)5C?=fi~EebCgZlIEwj@51AVal+EaP zco@8S*R#AY=11*{ZY@aKAh|Z!FFsqnmMNl#0~_j+I$-K@Pdw*&IOoI}mL_PvMQ^zI zE$;%ffxOCJU;o+^E!#d2Yu+5)<&P1Y2s|7%Y}Pa8P*-0$)!d`$5d4R{&SBUF@IBK` zxmWL9)(qMx_%_>?GL}R??fw3JS@2Bqx-`Lz?YMU4iPVj&m$&3UxKr2{Kh1xJvEvfV zQ(+$R=qE6VTt1Ee{ILJNVDHFV4uQpu+-8?=v&yW}d{uNdyg}AM1EckE(AZt}Sx=_O zIaBVW1~1Heko3&j?YVZ1e}-}w!V{QF1ApD&SaU=4l7EKWJN_`wigSK8`K(jqIlkJG zR&hY=-~G3nZ2rbk5+AJot3SrXb%5ra(ro$GYyKHJT17sj#F8?J@k@Wg-}D&qIRNLM zd7g!3wVgm?ZOx{F-l-lxq$$Jq&iEFi$8vyz&F|%N{#6wD0=wUHH7bFNu*Y+fJ;8UFJQH=9jxM6}mLDJoo9{HS_f*$+GEtxMqd$-H?QlJ`2Z2?^*v$;{ zlTU|n8beK%;C0U)K>ygs=4bzXQIEnO=DEIpfkAFzFO2DB_u+gJd`x5|HV?V1diDNS zza7ytabLvV&%bcNrKFAMw}M_tnM|A&? zTJ&y6?d<7?j`z}!ly+i&`o~Vh`Jk4(v!^4`hsHb23Ev)is_i;`-=!Ec)?{@)#D8BB zt3|BMoOCq%mHYwgdD^t=?AZmR4NL^T1amx&eHq`PJ)Dg-dv_}H;9C`CkC-9!Suw}8 zV`tA!nboY15j&I^0tU;Ax?;_VyO=KD0F-PK3w$G9JIQ)0=5+P#+`IXFupY{H##mJk zkwg7+j@yIKSB3wKZW@90+-mxDPUb$HOx}Wd+O)`hI;^v2r--ga`U%*(sv^H?IOZue zM|4i=nc#=<_oZ=rj`GG}&Eoq)+)81ORQYRmwiWbV*Oy`XzVV>dqwEm>P9ymiV}Gmz zf{Y`s^+U#V_Vnj?ECBLd^i|?sGPlrn_UzNR4w)6k#vJ@#@?O?6#>~;)`2^Gt!8hO| zQn>oV{dJUd&f3&3W#55@=s3_%^Sg-iDBQ)?*edGk%uD&BIl&(jIXf3}kbV-> zCcg?=O*f;xcLANv$+#B%g--*GCEiXzzdGJ2_?W__8H2qykC_$stGDP`Hr9U^!drw^ zxt=!PY1 zk4c<5W6IU!QPDY_`!r)!fmZk1PoW0))qKuYVzu;>NXMCWUIj@M*KFB|A% z7vnCjF;jf{iPHvXOlm8>m~brS8E7xYzPxXVp4rCr2urVOd_j22bpKA{X9(Jmyq(V` zEXTJ7n=AcyVfT-zdzC+?`CVw7fgAN1id~7fLtk#u#!St~O-_UEuT_A7p^(C|m z=0NG`7e* z=+o*f(lg?oZGtoJ8Da`XHyvYWn?L05U3~A@J4|or&!`7E7kgh~9`V*=WM8fGdmqES zd$i%sFeiMzBWmb2j$-ZGNW0RPP2^En5d6=O1r~Y27h}vR_9_2-_y+L@{YUzwvwuMl z9BJ41dynh1hyi`PxY!ovBX5v32!HY4PJ(BqIG?%0`R`|*_h`c;blS{7rcaQ44H8f*ee&2k%Sh5IqWq^!+V@ z|7Qnu?B~rc$ic*zlda1)#=XCF%>QVc6C>y$`)~gY<8Kf&fAKfFO#k|&^mX5AKlaDS zx0tgXK0m6!_H5d4KgPUczVP2pLWfKVc717V{&ib!z?f|NjekA~9Uv!M`120d!py^Z zo;SPwy~}!po{52j*yx*LcmIqriGAU{i*4Q#dp7KnJRitG@jrwA6c2uY82)eLUF4d~ zF5Q~vfuBw8t0lH`+b$jtkMA94_~QC{i~a>wa;Mo{JUzkD58v1Db9mU;GySAeUK3*6+>?;sCcb2X$$!CxmISq2&ur z5qq{WXQ`{V_vJE=_?EXm4tgFqf;bgH(7j7iufv%A*7=rU?}>A+v-Ay$-|xcv9%er6 zK&*M7E%)~x=b4aSLk4xSsE>QkFej(7i)R-Y>fxdzNgwcG#UF~z*v}u+?1OcEYL;#P z3&sGGr;CzJ%~r-R_T zpkFJ1Zakuk=Ua}`7*-PSZ3KJgFucKvsHTf&GdAlRs9}N6lbIN_<0kv(Onshb zm>ROyqZ6?z`MbE=qI5*FEzaM2lMv_e?4+vc&F*a z{7mxIYcVFV9>f`G@6ZO37`?-hPO&q)B>k)KC&YCL-J9t;Z(kTg|1 zZu9pZm$`@`=6`vZ&Ci%Z-ME*%y-QN=;8aEb0Z)iy1f79-7MOc{+KB7w(0@KSaJK2$ zcPC>&kC^*3&m@1Q4g219#KdheX=A#*-{Vn}mJa1Yiz(l+XE2@gjO6@3@++W(5` zXMLV2-y)9+&{LcJg`F%|?Y}Q)Gm?JVEk4GUFPTQ&FWvmPOVa-nIKIL6rD`76fNwO* zomr00u`FwH&GcImsI+#!vTx8#@R%$B`> z4Ze|>2k~6eJpG5ner(1*`o=$>IE~@He#?LlzqUqjJk0mtQHgm#&*VR}tyFLBJ^s6J zvVgJd#&bK^UQHWnKpO+?57>M2z0)r$JOS|?#0PiGJqlyCMSJyK(2fh+r8^(2tCLE% zzjR6ZZD6Me%|m{vUWdQw^N}&wm&ns)+Y9hcb4^(2$!^j8M4o2KECr)fk~wh54C{G0o=_p9k;aQ|k2a)L`U$S2I@99%I_uLVsU8L*51AO*8P8 z^Q)*EUu{bYljocp*F~`&RZn!Vzn-|Q*DfXY%8I*8W$}uRn5WK^Vji_Gd<#5Eun}r& z&cT=gwrio%R~sb3O!xI`OtWV5-VYE6rS@bg-Yj_H;8Z1caiUK zJZkLedW^Fj!r;a`t8CGNjLWc|lk9{-rH}CqviAS_V;?t=Ur%C8T{IDUPoAOh7TU0? zNAuZ*N&bU#miQ@b5YB*z?_PAj(Ci9>#UVV4Y+@&LK`Bx zf!kxcPg&3(-|AzpEKJ&-kf-7^PiuiG_XnST+`FJI+PLfh+v}IbkAOBFvDf+EYJL~e zmkRlZ?8nhCbXLoA#=bz$OX|uk?04srnT<0{oDXCiWD{OpO8D~fQ!V-vF=t?JbR+n4 za*T^f;oiGE@V@C$)yP`To9#{h8OGxds8MAdQ0}{>8*zpwo4I()iFr!ttHc{jYk`M< zr!Nc0TW}fBA=ht$UxIkKjHlcMzM7b4l0_~S7LCdy=7OT%@hv##F?O*}8}akO+Yx(b z26|YtC+XdK&A1E79l;*Sb+MZYb1&{9@vU7(>{H|f28+I1ZAvzd8Up#AZkFOsJ-(Xo zoxXAUPf`ELsL7%Y@<5@Nznb7J$dS%D$(BE2Yp|~m%<@7{w-Mh3cwLI~XV#Q4r}QQB zRAKKV&y2qv#M-2fJbP^fu!&at>xt7L{5Dl#qX8b;dfdgWX06XxwLwqt~qX`~SZOs)ppAq(79)HFy zyY;ldq58mC!ja?AbYIqk-96|KN8t?; zXKAYW(qB)UZ$O?dzXg1rb;s0c|5KRE1qJWrw-_%_y~djK`N$a9_+mFX-FTzE`@a>kUEIG>gFCw*T+W8fQtEx&8`42&6Ie^K&XVU#Y-vjbZjSg z7&kw?s-LZ7e4hCLsYRYXCcbX!V*&dwqjw(He2vX0Qu>C=^GuUkAz*RSK3yHPE%M}h z{Juh`Kld+Qu?X{=VA~Zb9XoLs)O!oB-NJhFhM}FY<^=x{ogbHh+%VN23*CC`@&s}dHWLE|4$9I z7z4nQB2O2M%L~wt;H5lbT`u|n|63w2Xm=yG5b}%hO8y37?};;%0>V8{C6e;;7 zwkO^o@xy^xP5>TLbuIsoLL!mK`4(;@XS z+RK7{R8z)2eN&_3iafh1651f1jN~JM2Jx*1d!m2ujLTpita{<&vSjNA`74=H$ z3Go;!__N@**kalj1IG+l%ln65opZ zWN;U;b{jWSCjs>$rg^DI-kbkd;@P;Fiff%ABMiV zH=6C!s=Rm7d~C$~#lzrhVn2n!<|eE;an8m{k1)!2)hpp3EL|{Jke@If)-$>aZ-%wRigK;od``dB(d@gHVd~bh3*)J_dRwk7CXM&#<}Q z)?%NY<7bGz$+y2CwUc8o&k^=+?+i#N3P_pp60cX@AXP=Sp8H%F`nD zhGRY2b3TnF=5e_3g;kBcv7XJ*pY^vye@2Y#pQoaKchd&uLq2cT`tulPH^pM`XP#(s zbGFvWeZ8Rfp5VRovz1L;N8iQM=0)$l!?!GQ8TYO*eqRL-Pta&ih=o#5T!0jQjL7uH!CWN0NI7Pe=)*-xhIq$Bvz1KlS8kv!5;Q_uB}ZK;|EQ zFox=me-m~Ao#*}VZ(*yG?ioW&r7UWTL@7R~f+#t9gV>;UJeZJ~^GUW3Q-}VS| z-l(_iGJAY_j;|Rx6^sQy=VxAAL-d1Q56_u?tpS-In(kZHu$J=}`-^|hi8v#AbAQ;$ z8~_r)JSUjne3>F+geOp!$a4D6f%bQw=E-}x_e|;WUD9UC0`ySZR-Ia$^npyL+`%8@ zj_L=US*&PP{A|!^87G22`~=ZSvWk;B8~jo7t*jK-ack_cl{@=mUkgmzVx>chp9C=% zv8i{=Ex7a| za!!W5+|P9AyYqa^Q)BarJ>7=-q0k2U!XRgx3w!-}ETb$%k;C?Qi68DEM+n$5F7;gIG zoD*xVb8ngcI)yQHIQH({7tT;>73q7=uiUu+^K`WXiaooa*+vUR?hGrYU2w8F0{cpQ z3w*=TYO2GBEUSG8V;-_cfqoKWCdG5HP|sNM;UC%Cy}!`mV4pVRy^Fo`_U2DnJINjy zx0#{EE%hJKH~O3hJVyG<@lLC&vF60L5`3O{r#^P*aGy5f_XWG@mQP@Ml+`jnbErMu zr}_B1fW9GoEC{GS*V~hdJv&Z#FYYwW<%>>PK!06b_2}XxW;JMoe2h8(^Uz8cWIS$| zPcqj3mZPx{Ik&{U1U=8jJo)wvtl7IS!T&)G3+w37lj3TT1!v-2B=)|(xeiEUdY|Rf z27OjoPp0bwUNUt-E!GpvItS;RmXbip!@dM;nO~Lt`WzWSsO^gxU2K)!Qy6SCl zzIV=`RlZZ&UzOjqABO(j^bNjgrulDK&KdWf9xQxyrRkqBB@KJO)lB!^pz|#=-%so~ z;HoWF_H5PQ~8g`AGdBdbO~wc4~BsKPHZ`03YnA_c~hCTg}71 z2H3g!e1z8_9w%q$_+hcB_wGF|PidQ%w!4RQwe-)wY38-&&+OU3{DhKW#T#(%>!aIz z9_8Leh@K0?W+}fjgSfI4(SqXE`g5B&F4moh6ESyXA>KuTHsZDw;~+vmwKdFVgYRA6 zMM8g;Gdy4gaoWe5Mc%!G_qrVNv|z{+n@oA;6w2j$&5~lzrjD-}a#?a|8XBA|xX0%$ ziTa(KKw@O=w-Vp4(%$dyi#i*0iL`dHx@zp5v`XLm(&Aptx!@&%O z)$dDmB-mC8_i}|^kMLghhWo103>n?jgmZ2f`Uv=Z^LtO|01k((q8pS}NE9w1SqVE(>bKW$pX@_PO`_ z_Km*v*88V@-&(gSoSw7K+4Da8?ESLddq9VfV=ugkHyZ47O*#LH9uwHcpbg1nl%81q)T`#in)Z2^ z=N+?GpJ8CPK!4rxx6|y1uqW3(4Ue-$8MBg{$*!HWwK^uf)g7n67j%Khgo&MJK<~`; z|ER|VcdW=amVV;JEhBI~ar=(46HH*U;T|?ptnx5tyLE2ZrBo$nz0{f z87}7xo7TP0J-%z_Lzriee-tt*|anHqw~?vBsD0>|WTk zd~1e2vy1~Qv!6t11G*dhmF^u#!@VcpATXcgn5I?d6EXK-T?XEJ+Cj{x-QxcH$!52zb@k4M1dU)m{YXj@+B}2dvf*Jyq9a8Wrpaz2eJkHCHXeUmBrpq zvBNYxfouUz8M`QVahukP5qT<)C^$pNLy1GWe9?A0GEezmKK%=!XY$vu=MNr*?0v_a zs`2h@8xQcD`~5SSmrLK_R$G#%dIX+`9!cGh2IeepsvKblDVP_#%mf2cnA2(Tm8O4jp)HR!*k38&{%lRVQdFFj`bx9 za(44wQfozdUdnC(zYC28Z!6G0t_Q{#-{ht4{-Afn-+@es^c9*MrDw(^P+LB+Wn52N zUVn_a5C_eaJY{FPwY;8L9)0s+aCk&lP6aMPn1i+W_MdOSOXyQFrZ+uL`ITXQOOD65 z4eIi(#+cRi+~~fb`-8=O=h^5??#ayiAW&z+)woQ;vi#xIsi+V)YVT|!FReUP=a&##0 z6y=POc`Ef>u9CR1ABc{tjbtt^Rd+k=U2m;W+2a^Ka%o5p#`}`fC7lk`6^*h^%9uV)SF3fq7<` zby3;kVxBqjt}P>P>nWJ0&0nwhwAJwi_30NmpO_JCn@+|&sB4|4Y<0=g}`tQcNmG8^In*} zEfAxgig{i(cjiTMa)b^6Giw{-d>FG@WH)??FTh`EUU}1IGprhU7lip<%@;w88uN&b z>)N><^Q^a<^_YOaU?))a79YQxy&y+bJfwL!pfQ{eV_)!3`^Xu7KZ-BPUiR#e`>(E@ z4H&cBJPv)4#A!-K^?mD6Gm<%sw8J|!E(9L&LDu&EjVUWd%#(h>lNz1?=2%wZqTe4e zgIpf<0JB}ou`nJU)Q0LnE*s<6PlFDV{3SXL@%e6jj-FMxfSdc2|-z>Yb#;ePCWp?OJ<3GTMA);A`Mw7Kk)^=QZW_NN-=P)4Pr?$hr~E^DyU zCV3@F^P(?cXWoA&?!*}*;kWBc`b*C6t~YNq#W1k}&qlLH&*R>Du%=Vi**)yQux9LD zC0oL}SfH`Cfo*2|$QIg%d;H&h^;&zbn_!Tq$Gnt{=J$}j;W;DM2=)f!#;&GZ{juLt zZg>Zx{3UV>v4V42Aj2mQS|l?3kUm49AE9}^AHWz8{riqElec*Zy!Va|<8C zJk92?rXP{daz5`iFQpBcgEJgty7ZWU#^5_#f5zkVyMG40IP8BIU5hpebNRA|_OSoa zw&{AI`6GGCUtZ-&T|U6m@!m8uu>ZuTvG-Z#6OD@$&5N(MbH*;r(`x^&=n!`blt1)A zPMnB-Kx^bqyvTkEn8S0%n0|r3%%1FHj+C&j?0oZuqIn}{7>lI^_h^R}@D8Y_O^YkP zAe0*!-kfLdV9$EK9oXil$0L4$>>c;QpT}P?aaWV@bw48>vBO1Xf-fH5Zfwa@E6%{a zwws=Dbv`cVmhW7~@7qIseL@?+o7yD z^!3QHeWUvl8UsE5xc*L)JAF+b>}#AkA+G$UfHq*$N)Nt|N`~SLdzpUmllem{rfeklhK2V9 zA1?o;MLcRD_P*B)$2=k4y`aVd;(kTFQ9r7BD(;y@Ua=~jpQbPbQ(H({+9Lt`{f#Xe-ccW?jrTP%8I@?C)EP1gGgbU_ev zK(6C6B7dew;St`+iiv-UoNd~N7uxgU$_@|pm)s%R;w9}vK!<0UnV{7W7t2Xw*cj+p zdNluaC#)UdbzXEH8Iy_l#v^x7&a+PYH|>IW>aNYr1N$dCQMh`eIq5+=4P!=`i#1;a zYh`A7FTXp1Z&;WoGr+%8@n24Ky1gLqRv8$S!nKzt2jwu&j{)u<(T#IwwVeZlV?(ohyz}5$jXTBffy&e92iog20H~{dTxb(y) zOSS>$F6zn5c{Xlt~=mw(eR}5%-Q=4 z_95%HY_JdLGjuuycm0Ve-}NSsS@1mLY{qPb+z4e0U>4c{%oY9jnEXwM*OBHsAbZ0x z&W9ELVx5ywEqH&y8l;bEx$1BV|I6LW49+3_3^G56k4)a(U>@XELjJ_OCnnrvi#tR{ z?KY38Gu#r;D&%~mFXs>A%8%o{1AdUbe2=laU-w_&bf`8!d8j+5pdL z^JEm}e!LrneBSowm3$u;$N6~X>8RWg-yCs(*N?ow+EBYdhsJ*f=NvsBdG8>#Yqna} zRXb>&)3i#NiOpx@eM;gaTf&@4_Q==)nHkPAi~1ddU`Ivz+P?&N{$kp9#kl`yB&m;>DVZ0TbN zOWDB#yhnP4zpZ$u$OgRAtq0a2z>}PZG73NNGVN#ZGJUi<`#$7zQjP`q%IqDJe&Vji zFM3zSMgyo zJ#}z50eH^-;K%H(Oxw7_KQ3SS7f!D7-hAaNUCal#0rOmJnmBVrLecex3c<3n|kK&R4dm_$e5Z<1JhG zOH=kl|NoS|56xG8iqJgg@d~Fm8@$WD2{4!2VSqWLF^4bsGMQ3)1bNGoFb|y2{FK~S zXz}U|e36|Ut39;MjC1!^+x%0$YVY7d^rs#;vGXrD!=?Tx;51wd^MHN?=E2uqZ>G(i zdzYNgsrf0{g13{PRf*d~daaJmSGK754lYpRT)sbse|CHqJC-^OY^ZoOa6anAAyz{Y)FF!yl*T3Gz1}d++?TryaF@ z#qF5qW;0&H9Oi-!U&e z!{v*1?fe<&r`1#dUrGK7YyjZBPudM;@XIrpZ#>8v&{&9z@Etw&_1hkUY0o=aJsbN< zjiJ54bB^&&JXwoiy54*89xYZpa=0y@(X||FEw<-kU*SA*w~mQ$KF7a}`xMVxi!q1& zSsGvNewlX5vP&*tKPmQS>w%tI{n=4IbuhbohxF=^=aa_F z9PmyOp5UDVYyi?Kc)3$-o4NTzl4Ev+K4ZGayGY=jx~bS+sNo6i7Sv%t4JGtcqK~%S zT&(fVJ2D7g$U}LXoI7zK_H~cBG(YubB*@8$WjK9`b9O#aHTWWl(?F*ncA9y94*ea< zu?uZN;Z*D&2oBu8NBVa!Q+tOlkTc9oi}q-~Lc^TOjX!cFYI?VAYR6i0Y;(Sn;o;lT zY)|3|s?6{*J7^cChQE6}MZXw94~g{)Wsmvx_xa z&oSQv%_nJ0*5ck_#@%d&ezxK7kS)v2BU-iyPT}uld5o_PsXsOixHw=sz=I)w8OO_5 zE83&^2T_FPIS=8%uZO#bP3OC8*Z}77d=+mI`$zQGp6k&2 zm3I@5cD!Vs*5@4X4(d@a^%mIdi=U@1_}G6I^c=1Qy(76a-TSfrMB5SqkDTFv(SJ50 zH`LF?JmbuZYVTnl5%lS`bNc64oY7iIAcDa1HT|1d0-7)DGUpi;uoq1o!zBccDjr9{I?bc(0cO}pT ztoe!D)M1$Cu>YpQ1>*A}Ghv6Hw4ji+vuG#WW%ntW8R{>**>C>!L|Zlw`DIwkyruUA z86NQ9@O7tK^s{4r%Y5^P?)$-^k5X`3z7mFeh_fgT4vYRWKAvw2tP9WS7H#CsVVL=Nz;L^u6e z$sf><*htXt)Vc7fsk>L&!wT;^SpNsV^t71dysaI(0ys6M3;POTZe`30zdqgiWq+V` zL9qAi^cZ_VVqf$@+UF31!_eEf0fyb;SKx+YoW=`@n;H{LiBMa=97k(TrGk!OX7p?M% zgZ@M_1fH}4WzPrl2YRRH&^OKCy*E<+jI&t<-Ee_^{{q`Xi z@BXT>))QuMLByAleZj6vo3z%JFvp(r3@OmQgVP0&8{~`3oZY*?7x$Q98fKU0Nqd#~ zEhQzW;YOH;tG$Cyzp^*?DFrDX1hzy!ksE2=xE~joa#sUzuPG}?#YK(FsbCDGbIDnD zM2{N6e3Koc_eH*lIeGZ%OUy?ahcUCv*aG;l%b?i!3uQ0+P9mPk8dKCM;|n6br`WXM zuPsLh*b!AD8CzavClo~VpgZSu*Y|d&yn~)^&QfRSxg166f_bk_HbvFYr+jNaiSUFy zi~=2pJT&nOJa02#-fSxrPQkgM-l5%#zT5PPHrmPEaRJ!^Q)2vyRTlAQBm0`F&nLLQ zfK77KwJ(yFkAhY+%{1U52~Xe`fSx6;MSiCZ@HM@!Kt{pNl>Cj&dzlaUu$h4|Y96uK zV7D+IY21;LM!-DZ%+h;z^YA@B^LC&M7#ker&(^qLoFoPr74vR;4KnKBf?KfGLNlj8 z`ElSuY@Po5>d%KvM*m#K!*}>|H9R5A8Ho|^A$B@>5bJ&Y!d&nrx#8jdE5`Q@#ZUBS zEbc*bk>){x$LVgyi1r_0Uxowz{OizP8VckBu=<+ znnA6G2MuF8bxIx{Ab$ZK#I?lcXZ|>S;d;v zonUTQI`aLnmgik9^uvFn2kCsY?)}YM6~BW|dFP8aeX$YqPGz3Vby({LZ>@Y_^+s%4~3&0GSDYS9X zmiJ6?c_-g)XWBOKS9m^wY$43->w4DFk_A|6p}AGVV?4>dge@B6*t5UzDfV_H4NxOVMl7~u z*Ba`bd$IRy`-Gyg)?i;apUJ=f8~bT89^TVFsbmZEMWDY#KF|93QyVa5kH0O7_fRj> zm&wkZcsKTSz<)~11nvv;+$Z5p*^W0O)7NAJp7+gjS|+$VMCz}5&$*vAKrP19+8qU> zQ}^#ldUiSgrTe#H@AJ)ziZ8%BBA;=mAaUdED@I}-_#nVVc!r_gfy`t+BC z%LOT$R`5!Z{vBSYbd_{V)zZ#`g z$Y;paZ13=zEe3V1UGK%$3x+0f8q`%|{0Dva2W z*w^*;=fJzt1tEXE_^m5=zf*-Vee7PXn*v)MvX1Zii{E&PIl%4aEj=dib3v=@@ziVW z*sCyRxjmrxbXF*%(qrt8R@Szu6=OW_Z9PwjuS~vmCCsGfYwbJOdlF`6KQnJodStkF zKyCg(jW6LH>?BQk$d=5V`v}hG5qk(@lJk&$L^pX&j~<{6>EeFx7pT|{;Q_5?Wr`j| z{zd~}Hh!1puT@g3fxVf&{vqzN`Oby!VUI-hspP=mKKJj_-(Y<8Zp>3;kLoebuVgJ; z(pbq|^)DLc(tNDsvkCkZjA`D~W)iMm(;WK`&0paerpG>dsD~XfqiZAfKG%GqbyILY zupxPmpS@;m9AgIf|J1TK^iN%1a>Nr@%OYW7h02x?9)v#45IJA|prsv^X)+5_F_69@ zqiFlNT4yu6GH^ai{oaKNr|xc)Zys-d@`xR`dG9GWAJl0tjMx&Wd*FGAUQ*)@@Gx(= z)z2+V+4G<%;0t;XHFc4v2Rm~a_hnBiRCZm!7rnD$caGa&PR`lggthwE{6ZzegB*LD zkL1qHLoTG`{}d`)J@jF7Vj2JSgc;Md^L)%xW`-7~Wbc-cezLqE-|uR`v&SzkOxe%i ziyV*`?Sw}<2iUUW7Sh-bb4sD|n}{#$3-&7S)S+rxiy03y~Xmhj{h}XVQi| z6*6j6#ThuCB+ZBC)7xuZ(aWOm(rCbQf*q^(9;^i)jkVW`Ht(fA?P;3Cu&CJ2-bDYp-=oDhG`vtf zZK$%YoxB%rvy%#kq-34PTnNCE=5k=1+!$3+QK;-^k2%{SSK~Fq%~05NIG;A({}MdB zvy=BS=p#=)HGX;NqROVqit@&$hT6u8^3vd+EtR#+iA!rMs}lUv+N#o93XBu{;iQWnFo2El$?t?ui{!u8f46un|6rK=V_IJF3;+9n z8lQ$ykZAIgmxK5>j;*V&6Yw06UU?~j7RZO=ZyT32R(1p2`*%PNT*@!pZ2^h;Vw5|4EKCL_kH|Z5D=11 zNS@qCqr1`vi1KVqL5`Gruc5L!(H-=EHR+JWkeVdFEc`D-ix54Tfq!@9lA5N3S5;eC zeYscPv?S4>>3;_HSX1{UGWwSvKY>1kkG~V~<>MQLZ#=%4_!i^47T>q=ZN>KtzFqi; zqHv>-%3dZu9s*HFKB5%B-8JuPVRexX|BUx zG*>r4l6mJ<)-^A#tZr&<;9t#YsH|&TUfp(Wo^;a#->UjVRAFbDbdJ3TwYnzP&B)x+MAVV zXsoZpnAwSjmYQlnGqtWM(SX_NmL=+%Ftpl@Yp7q0|0_V#V`nv2)z(xO*+t8+1pr?u zuq!If!3ot@S9d4Ue>s9F+&1Ck?<9O9@Qudj_H|0|NY z)+}{grA>+IC3Q8`m9@lbF literal 0 HcmV?d00001 diff --git a/Stata Fundamentals III/workshop3_content.do b/Stata Fundamentals III/workshop3_content.do index 6692725..47b2e90 100644 --- a/Stata Fundamentals III/workshop3_content.do +++ b/Stata Fundamentals III/workshop3_content.do @@ -16,23 +16,26 @@ ************************************************** -/* Step 1: File > Change Working Directory > Navigate to the folder where you - have saved the data file nlsw88.dta */ +/* Step 1: File > Change Working Directory > Navigate to the folder where you have saved the data file nlsw88.dta */ -/* Step 2: Copy-paste the last command that shows up on result screen. - My result window shows this:*/ +/* Step 2: Copy-paste the last command that shows up on result screen. My result window shows this:*/ -cd "C:\Users\heroa\Google Drive\DLab\stata-fundamentals\Stata Fundamentals III" +cd "\\Client\C$\Users\salma\Box\dlab_workshops-s21\stata-fundamentals\Stata Fundamentals III" /*** - We paste this command above so that next time we can just run this - do-file from the top and it will run smoothly. We will not need to - use the file menu or copy-paste again. We should be able to run - everything from the do-file. +We paste this command above so that next time we can just run this do-file from the top and it will run smoothly. We will not need to +use the file menu or copy-paste again. We should be able to run everything from the do-file. ***/ pwd // POLL 1 // +/* +Run the command "pwd". Is your working directory proper folder on your computer? + +(1) Yes +(2) No +(3) Not sure (IOKN2K!) +*/ ********************************************** * 0. WORKSHOP II WRAP-UP @@ -56,8 +59,6 @@ sum idcode // what is the range of id numbers in this dataset? br // let's browse the data - - * Data for round 2, use nlsw88_wave2.dta, clear @@ -82,16 +83,14 @@ br // let's browse the data save nlsw88_wave1and2.dta, replace - * MERGE DATASETS * Data for wave 1 use nlsw88_wave1and2.dta -isid idcode // check if id makes a unique identifier +isid idcode // check if id makes a unique identifier. If we don't get an error message, then idcode is a unique identifier duplicates report idcode - *Lets look at the second part of the dataset use nlsw88_childvars, clear @@ -103,7 +102,7 @@ duplicates report idcode // another way of checking if idcode is unique * Merge use nlsw88_wave1and2.dta, clear -merge 1:1 idcode using nlsw88_childvars //one-to-one merge +merge 1:1 idcode using nlsw88_childvars // one-to-one merge on idcode *What does it mean to have different _merge values? tab _merge @@ -119,6 +118,15 @@ drop _merge_1 //or drop merge save nlsw88_complete.dta, replace // POLL 2 // +/* +Which of the following are true about appending and merging? + +(1) to merge, a variable must uniquely identify obs in both datasets +(2) appending only works if all variables appear in both datasets +(3) if not all observations merge, an error has occurred +(4) appending requires fewer arguments than merging +(5) you can never lose information appending or merging +*/ ********************************************** * II. RESHAPING @@ -127,11 +135,12 @@ save nlsw88_complete.dta, replace *Load data use nlsw88_complete.dta, clear -//Some of this data is in "wide" format +// Some of this data is in "wide" format list idcode childage1 childage2 childage3 childage4 in 1/10 //print the data to the screen -//First, we want to try and reshape it to "long" format -//Now, each row will be not a single individual, but an individual-child +// First, we want to try and reshape it to "long" format +// Now, each row will be not a single individual, but an individual-child +// "long" indicates that we want to go from wide to long format, and "childage" indicates that we will be creating another id based on the childage# variables that we will name childidcode reshape long childage, i(idcode) j(childidcode) list idcode childidcode childage in 1/10 //print again @@ -149,44 +158,33 @@ j() will be how we're reshaping it*/ reshape wide childage, i(idcode) j(childidcode) // POLL 3 // +/* +When merging and reshaping data, Stata uses ‘idcode’ as its unique identifier because… +(1) it has ‘id’ in the name +(2) it has ‘code’ in the name +(3) because it has no duplicates +(4) because we tell Stata in the command +(5) Both 1 and 4 are correct +*/ +/* Challenge question 1 */ +/* +Rather than merging nlsw88_childvars into nlsw88_wave1and2 and then reshaping, we could instead have first reshaped nlsw88_childvars, and then done a many-to-one merge. Let's try that now! -/* CHALLENGE: RESHAPING AND MERGING ** - Rather than merging nlsw88_childvars into nlsw88_wave1and2 and then reshaping, - we could instead have first reshaped nlsw88_childvars, and then done a - many-to-one merge. Let's try that now!*/ - -/*1.1: Open up nlsw88_childvars, and reshape it to long format*/ - - - +1.1: Open up nlsw88_childvars, and reshape it to long format -/*1.2: Merge nlsw88_wave1and2 (using) into nlsw88_childvars (master) - using a many-to-one syntax*/ +1.2: Merge nlsw88_wave1and2 (using) into nlsw88_childvars (master) using a many-to-one syntax +1.3: We want this data to be organized at the woman-child level, meaning we should have a number of observations for each woman matching the number of children she has. For example, if a women has 3 children, there should be 3 observations for her. +1.3.1: How many observations are there initially? How many women are there in our data? (hint: use the user-written command --unique-- by typing "install ssc unique" and then looking at the help file) - -/*1.3: We want this data to be organized at the woman-child level, - meaning we should have a number of observations for each woman matching - the number of children she has. For example, if a women has 3 children, there - should be 3 observations for her. - - 1.3.1: How many observations are there initially? How many women are there in our data? - (hint: use the user-written command --unique-- by typing "install ssc unique" - and then looking at the help file) - - 1.3.2: How could you check if there are women with extra observations? - (note: there are many ways to 'answer' this question) +1.3.2: How could you check if there are women with extra observations? (note: there are many ways to 'answer' this question) - 1.3.3: Can you find a way to drop observations for "fake" (created by the reshape) - child observations? +1.3.3: Can you find a way to drop observations for "fake" (created by the reshape) child observations? - 1.3.4: What is the correct number of observations in the end?*/ - - - - +1.3.4: What is the correct number of observations in the end? +*/ ********************************************** @@ -197,9 +195,9 @@ reshape wide childage, i(idcode) j(childidcode) use nlsw88_complete.dta, clear *LOCALS - -local i=1 -disp `i' +// locals are a way to save a value in memory until you close Stata, or run another ado file +local i=1 // save the value 1 to variable i +disp `i' // when referring to a local variable, use the `' syntax (i.e. `i') disp "The local called i has the value `i'" //Now we increase i by 2. local i=`i'+2 @@ -228,12 +226,19 @@ local industry_lab: value label industry display "The value label for industry is `industry_lab'." // POLL 4 // +/* +Which of the following would allow you to display a local that contains the string “I love Stata”? +(1) display `local’ +(2) display $local +(3) display “`local’” +(4) display “$local” +(5) 1 or 3 +*/ *GLOBALS - -//Considered bad form in programming, use sparingly. -//Easy list of long set of variable names -//Set the file path name for different computers +// Considered bad form in programming, use sparingly. +// Easy list of long set of variable names +// Set the file path name for different computers /* Making a Global:*/ @@ -241,7 +246,6 @@ display "The value label for industry is `industry_lab'." pwd * copy your own working directory and replace mine below* - global mycomp "C:\Users\heroa\Google Drive\DLab\stata-fundamentals\Stata Fundamentals II" //Check if it worked @@ -253,7 +257,7 @@ cd "$mycomp" // check it worked pwd -// this global will be useful latter when we save files to a different folder +// this global will be useful later when we save files to a different folder ********************************************** @@ -272,25 +276,33 @@ foreach var in wage ttl_exp hours { reg `var' grade } - - //Instead of using foreach var in, we can also use foreach var of //This works only with variables foreach fudge of varlist wage ttl_exp hours { reg `fudge' grade } - //Using of varlist lets us do interesting things like search our variable list foreach fudge of varlist t* { reg `fudge' grade } -/*You may notice that the output from inside a loop is not +/* +You may notice that the output from inside a loop is not quite as well documented as from outside a loop -It can be helpful to add display lines explaining where the code is*/ +It can be helpful to add display lines explaining where the code is +*/ // POLL 5 // +/* +Look at the code for the loop on the screen. How many times will the code inside this loop run? +(1) One time +(2) Two times +(3) Three times +(4) Four times +(5) Six times +(6) There’s no way to know +*/ foreach fudge in wage ttl_exp hours { disp "********This regresses `fudge' on grade **********" @@ -366,64 +378,58 @@ foreach var of varlist `outcomes' { } // POLL 6 // - - -/** CHALLENGE 2: LOCALS AND LOOPS ** - Let's use nlsw88_complete to explore locals and loops further! Let's imagine we want to - make a "dictionary" from this dataset, or print on the screen some information - about each of the variables in the data. +/* +Which of the following is true about loops? +(1) you must select part of EACH line of the loop (including the close bracket) for it to run +(2) forval loops can loop over any list of numbers +(3) you cannot create/change locals inside a loop +(4) foreach loops can only loop over variables +(5) if looping over a macro, you always need to use typical macro syntax ($global or `local’) +*/ + + +/** Challenge question 2: locals and loops **/ +/* +Let's use nlsw88_complete to explore locals and loops further! Let's imagine we want to make a "dictionary" from this dataset, or print on the screen some information about each of the variables in the data. - In this exercise, we'll focus on ttl_exp, tenure, south and smsa.*/ +In this exercise, we'll focus on ttl_exp, tenure, south and smsa. +*/ -/*2.1: Use the --help extended_fcn-- file to make a local containing the variable -label of ttl_exp, and display it. The command can be found under the subheading -"Macro functions for extracting data attributes" in the help file extended_fcn*/ +/* +2.1: Use the --help extended_fcn-- file to make a local containing the variable label of ttl_exp, and display it. The command can be found under the subheading "Macro functions for extracting data attributes" in the help file extended_fcn * (hint: the variable label is the explanation for what the variable is) +*/ +/* +2.2: Make a loop which goes over ttl_exp, tenure, south and smsa and +lists the variable label for each one. +*/ -/*2.2: Make a loop which goes over ttl_exp, tenure, south and smsa and -lists the variable label for each one.*/ - - - - - - -/*2.3: Display the sentence - using locals and extended functions, not words - - in the following format: "ttl_exp (float) contains the total work experence for each - woman in the dataset." */ - - - +/* +2.3: Display the sentence - using locals and extended functions, not words - in the following format: "ttl_exp (float) contains the total work experence for each woman in the dataset." +*/ -/*2.4: Make a loop which takes your sentence above, and fills it in for - ttl_exp, tenure, south and smsa. Put a number at the beginning of each sentence - which updates by one every time your loop runs*/ - - - - +/* +2.4: Make a loop which takes your sentence above, and fills it in for ttl_exp, tenure, south and smsa. Put a number at the beginning of each sentence which updates by one every time your loop runs +*/ -/*2.5 (CHALLENGE): Write a loop which produces the exact same results, - but this time use a forvalues loop to loop over the numbers 1 to 4 to do so. +/* +2.5 (CHALLENGE): Write a loop which produces the exact same results, but this time use a forvalues loop to loop over the numbers 1 to 4 to do so. +Hint: check the extended function help file and look at "word # of string". +*/ - Hint: check the extended function help file and look at "word # of string".*/ - - - - ********************************************** * V. EXPORTING RESULTS ********************************************** //Create a folder to store output -//the mkdir folder creates the folder specified in " " (if the file path makes sense) -//cap, or capture, is a Stata command which tells Stata to keep going even if it can't implement that command +// the mkdir folder creates the folder specified in " " (if the file path makes sense) +// cap, or capture, is a Stata command which tells Stata to keep going even if it can't implement that command // we are making use of your global $mycomp so that we don't have to write out the whole filepath @@ -432,10 +438,17 @@ cap mkdir "$mycomp/Output" *OUTREG2 //To install outreg2: ssc install outreg2 - global controlvars south married union // POLL 7 // +/* +Take a look at the outreg2 help file on the screen. Which parts of the command must be specified for the command to run in the Full Syntax? +(1) Whether the command replaces or appends +(2) A column title +(3) A list of variables or estimations to export +(4) A file name for where the results will be stored +(5) None of the above +*/ // Export results to EXCEL (default is text file) diff --git a/Stata Fundamentals III/workshop3_solutions.do b/Stata Fundamentals III/workshop3_solutions.do index afcb260..c164028 100644 --- a/Stata Fundamentals III/workshop3_solutions.do +++ b/Stata Fundamentals III/workshop3_solutions.do @@ -1,7 +1,6 @@ ******************************* * STATA FUNDAMENTALS: WORKSHOP 3 * SPRING 2021, D-LAB -* SOLUTIONS DO FILE ******************************** ************************************************** @@ -17,23 +16,26 @@ ************************************************** -/* Step 1: File > Change Working Directory > Navigate to the folder where you - have saved the data file nlsw88.dta */ +/* Step 1: File > Change Working Directory > Navigate to the folder where you have saved the data file nlsw88.dta */ -/* Step 2: Copy-paste the last command that shows up on result screen. - My result window shows this:*/ +/* Step 2: Copy-paste the last command that shows up on result screen. My result window shows this:*/ -cd "C:\Users\heroa\Google Drive\DLab\stata-fundamentals\Stata Fundamentals III" +cd "\\Client\C$\Users\salma\Box\dlab_workshops-s21\stata-fundamentals\Stata Fundamentals III" /*** - We paste this command above so that next time we can just run this - do-file from the top and it will run smoothly. We will not need to - use the file menu or copy-paste again. We should be able to run - everything from the do-file. +We paste this command above so that next time we can just run this do-file from the top and it will run smoothly. We will not need to +use the file menu or copy-paste again. We should be able to run everything from the do-file. ***/ pwd // POLL 1 // +/* +Run the command "pwd". Is your working directory proper folder on your computer? + +(1) Yes <-- good job! +(2) No <-- try running the command above again +(3) Not sure (IOKN2K!) <-- look for the nlsw88.dta file on your computer. Is that folder the same folder as the one that shows up when you type "pwd"? +*/ ********************************************** * 0. WORKSHOP II WRAP-UP @@ -57,8 +59,6 @@ sum idcode // what is the range of id numbers in this dataset? br // let's browse the data - - * Data for round 2, use nlsw88_wave2.dta, clear @@ -83,16 +83,14 @@ br // let's browse the data save nlsw88_wave1and2.dta, replace - * MERGE DATASETS * Data for wave 1 use nlsw88_wave1and2.dta -isid idcode // check if id makes a unique identifier +isid idcode // check if id makes a unique identifier. If we don't get an error message, then idcode is a unique identifier duplicates report idcode - *Lets look at the second part of the dataset use nlsw88_childvars, clear @@ -104,7 +102,7 @@ duplicates report idcode // another way of checking if idcode is unique * Merge use nlsw88_wave1and2.dta, clear -merge 1:1 idcode using nlsw88_childvars //one-to-one merge +merge 1:1 idcode using nlsw88_childvars // one-to-one merge on idcode *What does it mean to have different _merge values? tab _merge @@ -120,6 +118,15 @@ drop _merge_1 //or drop merge save nlsw88_complete.dta, replace // POLL 2 // +/* +Which of the following are true about appending and merging? + +(1) to merge, a variable must uniquely identify obs in both datasets +(2) appending only works if all variables appear in both datasets +(3) if not all observations merge, an error has occurred +(4) appending requires fewer arguments than merging <-- correct answer +(5) you can never lose information appending or merging +*/ ********************************************** * II. RESHAPING @@ -128,11 +135,12 @@ save nlsw88_complete.dta, replace *Load data use nlsw88_complete.dta, clear -//Some of this data is in "wide" format +// Some of this data is in "wide" format list idcode childage1 childage2 childage3 childage4 in 1/10 //print the data to the screen -//First, we want to try and reshape it to "long" format -//Now, each row will be not a single individual, but an individual-child +// First, we want to try and reshape it to "long" format +// Now, each row will be not a single individual, but an individual-child +// "long" indicates that we want to go from wide to long format, and "childage" indicates that we will be creating another id based on the childage# variables that we will name childidcode reshape long childage, i(idcode) j(childidcode) list idcode childidcode childage in 1/10 //print again @@ -150,38 +158,35 @@ j() will be how we're reshaping it*/ reshape wide childage, i(idcode) j(childidcode) // POLL 3 // - - -/* CHALLENGE: RESHAPING AND MERGING ** - Rather than merging nlsw88_childvars into nlsw88_wave1and2 and then reshaping, - we could instead have first reshaped nlsw88_childvars, and then done a - many-to-one merge. Let's try that now!*/ - -/*1.1: Open up nlsw88_childvars, and reshape it to long format*/ +/* +When merging and reshaping data, Stata uses ‘idcode’ as its unique identifier because… +(1) it has ‘id’ in the name +(2) it has ‘code’ in the name +(3) because it has no duplicates +(4) because we tell Stata in the command <-- correct answer +(5) Both 1 and 4 are correct +*/ + +/* Challenge question 1 */ +/* +Rather than merging nlsw88_childvars into nlsw88_wave1and2 and then reshaping, we could instead have first reshaped nlsw88_childvars, and then done a many-to-one merge. Let's try that now! + +1.1: Open up nlsw88_childvars, and reshape it to long format +*/ use nlsw88_childvars, clear reshape long childage, i(idcode) j(childidcode) - - - -/*1.2: Merge nlsw88_wave1and2 (using) into nlsw88_childvars (master) - using a many-to-one syntax*/ +/* +1.2: +Merge nlsw88_wave1and2 (using) into nlsw88_childvars (master) using a many-to-one syntax +*/ merge m:1 idcode using nlsw88_wave1and2 - - - -/*1.3: We want this data to be organized at the woman-child level, - meaning we should have a number of observations for each woman matching - the number of children she has. For example, if a women has 3 children, there - should be 3 observations for her. - 1.3.1: How many observations are there initially? How many women are there in our data? - (hint: use the user-written command --unique-- by typing "install ssc unique" - and then looking at the help file) - 1.3.2: How could you check if there are women with extra observations? - (note: there are many ways to 'answer' this question) - 1.3.3: Can you find a way to drop observations for "fake" (created by the reshape) - child observations? - 1.3.4: What is the correct number of observations in the end?*/ - +/* +1.3: We want this data to be organized at the woman-child level, meaning we should have a number of observations for each woman matching the number of children she has. For example, if a women has 3 children, there should be 3 observations for her. +1.3.1: How many observations are there initially? How many women are there in our data? (hint: use the user-written command --unique-- by typing "install ssc unique" and then looking at the help file) +1.3.2: How could you check if there are women with extra observations? (note: there are many ways to 'answer' this question) +1.3.3: Can you find a way to drop observations for "fake" (created by the reshape) child observations? +1.3.4: What is the correct number of observations in the end? +*/ *1.3.1 count // 12,635 observations unique idcode // this user-written command will tells us there should be 3167 women @@ -200,9 +205,6 @@ drop if (child_num==0 | child_num==.) & childidcode>1 & _merge!=2 // this keeps count // 6,568 obserations unique idcode // still 3167 - - - ********************************************** * III. MACROS @@ -212,9 +214,9 @@ unique idcode // still 3167 use nlsw88_complete.dta, clear *LOCALS - -local i=1 -disp `i' +// locals are a way to save a value in memory until you close Stata, or run another ado file +local i=1 // save the value 1 to variable i +disp `i' // when referring to a local variable, use the `' syntax (i.e. `i') disp "The local called i has the value `i'" //Now we increase i by 2. local i=`i'+2 @@ -243,12 +245,19 @@ local industry_lab: value label industry display "The value label for industry is `industry_lab'." // POLL 4 // +/* +Which of the following would allow you to display a local that contains the string “I love Stata”? +(1) display `local' +(2) display $local +(3) display “`local'” <-- correct answer +(4) display “$local” +(5) 1 or 3 +*/ *GLOBALS - -//Considered bad form in programming, use sparingly. -//Easy list of long set of variable names -//Set the file path name for different computers +// Considered bad form in programming, use sparingly. +// Easy list of long set of variable names +// Set the file path name for different computers /* Making a Global:*/ @@ -256,7 +265,6 @@ display "The value label for industry is `industry_lab'." pwd * copy your own working directory and replace mine below* - global mycomp "C:\Users\heroa\Google Drive\DLab\stata-fundamentals\Stata Fundamentals II" //Check if it worked @@ -268,7 +276,7 @@ cd "$mycomp" // check it worked pwd -// this global will be useful latter when we save files to a different folder +// this global will be useful later when we save files to a different folder ********************************************** @@ -287,25 +295,33 @@ foreach var in wage ttl_exp hours { reg `var' grade } - - //Instead of using foreach var in, we can also use foreach var of //This works only with variables foreach fudge of varlist wage ttl_exp hours { reg `fudge' grade } - //Using of varlist lets us do interesting things like search our variable list foreach fudge of varlist t* { reg `fudge' grade } -/*You may notice that the output from inside a loop is not +/* +You may notice that the output from inside a loop is not quite as well documented as from outside a loop -It can be helpful to add display lines explaining where the code is*/ +It can be helpful to add display lines explaining where the code is +*/ // POLL 5 // +/* +Look at the code for the loop on the screen. How many times will the code inside this loop run? +(1) One time +(2) Two times +(3) Three times <-- correct answer (for loop directly below this poll) +(4) Four times +(5) Six times +(6) There’s no way to know +*/ foreach fudge in wage ttl_exp hours { disp "********This regresses `fudge' on grade **********" @@ -381,50 +397,52 @@ foreach var of varlist `outcomes' { } // POLL 6 // - - -/** CHALLENGE 2: LOCALS AND LOOPS ** - Let's use nlsw88_complete to explore locals and loops further! Let's imagine we want to - make a "dictionary" from this dataset, or print on the screen some information - about each of the variables in the data. +/* +Which of the following is true about loops? +(1) you must select part of EACH line of the loop (including the close bracket) for it to run +(2) forval loops can loop over any list of numbers +(3) you cannot create/change locals inside a loop +(4) foreach loops can only loop over variables +(5) if looping over a macro, you always need to use typical macro syntax ($global or `local’) +*/ + + +/** Challenge question 2: locals and loops **/ +/* +Let's use nlsw88_complete to explore locals and loops further! Let's imagine we want to make a "dictionary" from this dataset, or print on the screen some information about each of the variables in the data. - In this exercise, we'll focus on ttl_exp, tenure, south and smsa.*/ +In this exercise, we'll focus on ttl_exp, tenure, south and smsa. +*/ -/*2.1: Use the --help extended_fcn-- file to make a local containing the variable -label of ttl_exp, and display it. The command can be found under the subheading -"Macro functions for extracting data attributes" in the help file extended_fcn*/ +/* +2.1: Use the --help extended_fcn-- file to make a local containing the variable label of ttl_exp, and display it. The command can be found under the subheading "Macro functions for extracting data attributes" in the help file extended_fcn * (hint: the variable label is the explanation for what the variable is) - +*/ local lbl : var label ttl_exp display "The variable label of ttl_exp is `lbl'." -/*2.2: Make a loop which goes over ttl_exp, tenure, south and smsa and -lists the variable label for each one.*/ - +/* +2.2: Make a loop which goes over ttl_exp, tenure, south and smsa and +lists the variable label for each one. +*/ foreach var of varlist t* s* { local lbl : var label `var' display "The variable label of `var' is `lbl'." } - - -/*2.3: Display the sentence - using locals and extended functions, not words - - in the following format: "ttl_exp (float) contains the total work experence for each - woman in the dataset." */ - +/* +2.3: Display the sentence - using locals and extended functions, not words - in the following format: "ttl_exp (float) contains the total work experence for each woman in the dataset." +*/ local lbl : var label ttl_exp local type : type ttl_exp display "ttl_exp (`type') contains `lbl' for each woman in the dataset." - - -/*2.4: Make a loop which takes your sentence above, and fills it in for - ttl_exp, tenure, south and smsa. Put a number at the beginning of each sentence - which updates by one every time your loop runs*/ - +/* +2.4: Make a loop which takes your sentence above, and fills it in for ttl_exp, tenure, south and smsa. Put a number at the beginning of each sentence which updates by one every time your loop runs +*/ local x=1 foreach var of varlist t* s* { local lbl : var label `var' @@ -433,15 +451,10 @@ foreach var of varlist t* s* { local x = `x' + 1 } - - - - -/*2.5 (CHALLENGE): Write a loop which produces the exact same results, - but this time use a forvalues loop to loop over the numbers 1 to 4 to do so. - - Hint: check the extended function help file and look at "word # of string".*/ - +/* +2.5 (CHALLENGE): Write a loop which produces the exact same results, but this time use a forvalues loop to loop over the numbers 1 to 4 to do so. +Hint: check the extended function help file and look at "word # of string". +*/ local var_list ttl_exp tenure south smsa forvalues x=1/4 { local var : word `x' of `var_list' @@ -450,8 +463,6 @@ forvalues x=1/4 { display "`x'. `var' (`type') contains `lbl' for each woman in the dataset." } - - ********************************************** * V. EXPORTING RESULTS @@ -465,13 +476,21 @@ forvalues x=1/4 { cap mkdir "$mycomp/Output" + *OUTREG2 //To install outreg2: ssc install outreg2 - global controlvars south married union // POLL 7 // +/* +Take a look at the outreg2 help file on the screen. Which parts of the command must be specified for the command to run in the Full Syntax? +(1) Whether the command replaces or appends +(2) A column title +(3) A list of variables or estimations to export +(4) A file name for where the results will be stored <-- correct answer +(5) None of the above +*/ // Export results to EXCEL (default is text file)