From de8739be38cace6c5c787029492cd45cc90b1e74 Mon Sep 17 00:00:00 2001 From: Will Beasley Date: Thu, 11 Aug 2022 20:26:53 -0500 Subject: [PATCH 01/18] avoid "internet resources" in vignette which is why Brian removed it from CRAN a few days ago when the server was down ref #9 --- inst/misc/example-data-2.csv | 501 ++++++++++++++++++++++++++++++ vignettes/nih-enrollment-html.Rmd | 31 +- 2 files changed, 510 insertions(+), 22 deletions(-) create mode 100644 inst/misc/example-data-2.csv diff --git a/inst/misc/example-data-2.csv b/inst/misc/example-data-2.csv new file mode 100644 index 0000000..03db0cd --- /dev/null +++ b/inst/misc/example-data-2.csv @@ -0,0 +1,501 @@ +record_id,name_last,name_first,address,phone,dob,ethnicity,race,gender,height,weight,email,demographics_complete +1,Cornel,Alice,88 Dawnview Way,3364812635,1991-05-13,1,4,0,176.1,105,alice.cornel@aol.com,0 +2,Wojdyla,Jaida,69 Jessie West St,5233183616,1931-10-14,1,4,0,173.7,127,jaida.wojdyla@aol.com,0 +3,Stunkard,Allen,49 Sibley Rd,8548788327,1964-09-15,1,3,1,170,166,allen.stunkard@aol.com,0 +4,Cimochowski,Isabell,18 Warner Pl,3986375914,1969-05-03,1,4,1,160.5,98,isabell.cimochowski@aol.com,0 +5,Woodland,Amber,43 Ardath Ct,4487462273,1969-11-22,1,4,0,183.2,112,amber.woodland@aol.com,0 +6,Pistoia,Kayden,37 Cole St,4727418365,1943-08-26,1,4,1,176.8,125,kayden.pistoia@aol.com,0 +7,Ahlquist,Gianna,98 Treat Ave,4398321526,1944-01-22,1,4,0,177,133,gianna.ahlquist@aol.com,0 +8,Ashlin,Chad,56 Ship St,2856641963,1931-04-14,1,4,1,182.4,144,chad.ashlin@aol.com,0 +9,Djokovic,Simon,44 Ironwood Way,4632973167,1962-07-07,1,1,1,160.5,100,simon.djokovic@aol.com,0 +10,Mosses,Zack,18 Tara St,5397286264,1978-06-20,1,3,0,147.9,118,zack.mosses@aol.com,0 +11,Lucini,Magdalena,49 Conrad St,9933768739,1932-05-05,1,4,0,170.2,94,magdalena.lucini@aol.com,0 +12,Swierk,Lisa,97 Washburn St,7549372498,1990-08-11,1,4,1,176.9,128,lisa.swierk@aol.com,0 +13,Torii,Adan,33 Charles j Brenham Pl,3312331878,1986-11-06,1,4,1,183.3,138,adan.torii@aol.com,0 +14,Meunier,Rafael,58 Pfeiffer St,8336867841,1957-10-17,1,4,1,184.4,133,rafael.meunier@aol.com,0 +15,Knadle,Jessie,68 Southard Pl,4899633815,1956-11-06,1,4,1,175,115,jessie.knadle@aol.com,0 +16,Arcemont,Cameron,56 Cadell Pl,4676358541,1947-07-28,1,6,1,196.1,139,cameron.arcemont@aol.com,0 +17,Carethers,Zoey,32 Masonic Ave,5638247317,1987-04-23,1,3,0,200.8,101,zoey.carethers@aol.com,0 +18,Trammell,Karen,16 Ord St,2832216877,1975-06-12,1,4,1,150.6,137,karen.trammell@aol.com,0 +19,Burkhouse,Alisa,49 Hitchcock St,8678353936,1999-05-03,1,4,1,178.2,124,alisa.burkhouse@aol.com,0 +20,Schenning,Trystan,32 Putnam St,6153384374,1989-08-26,1,5,0,181.1,98,trystan.schenning@aol.com,0 +21,Cowdrick,Gavyn,96 Madison St,5333283397,1989-09-25,1,4,1,165,78,gavyn.cowdrick@aol.com,0 +22,Metze,Tori,86 Amity Aly,3255926385,1944-07-14,1,5,0,177.3,126,tori.metze@aol.com,0 +23,Kim,Rhett,59 Lake Forest Ct,4734382583,1953-05-16,1,6,0,177.6,114,rhett.kim@aol.com,0 +24,Gerstel,Diego,87 Zircon Pl,9766312233,1943-11-02,1,4,1,177.7,135,diego.gerstel@aol.com,0 +25,Brevard,Slade,17 Kirkwood Ave,5446618137,1944-08-04,2,5,0,173.1,83,slade.brevard@aol.com,0 +26,Benline,Valery,65 Salmon St,5487286388,1937-08-14,1,4,1,169.5,108,valery.benline@aol.com,0 +27,Cirbo,Nolan,54 Stanford Heights Ave,8287317629,1985-10-06,1,5,1,169.8,95,nolan.cirbo@aol.com,0 +28,Briegel,Kaleigh,27 Pennsylvania Ave,7422758131,1991-11-11,1,4,0,174.7,109,kaleigh.briegel@aol.com,0 +29,Busack,Lana,74 Stoneridge Ln,2619777232,1946-12-11,1,5,0,177.2,120,lana.busack@aol.com,0 +30,Aguina,Dangelo,42 Lindsay Cir,8478135353,1980-07-06,1,4,1,187.5,109,dangelo.aguina@aol.com,0 +31,Oslund,Mara,57 Henry St,2938137316,1946-08-10,1,4,1,178.6,71,mara.oslund@aol.com,0 +32,Pocius,Omar,17 Burke Ave,6223667664,1958-05-24,1,5,0,149.9,134,omar.pocius@aol.com,0 +33,Farrow,Micah,34 Roosevelt Way,6465483961,1946-09-24,1,4,0,179.9,98,micah.farrow@aol.com,0 +34,Kinzey,Xzavier,80 Hopkins Ave,6312336428,1966-10-18,1,4,0,180.4,144,xzavier.kinzey@aol.com,0 +35,Kenslow,Donavan,2 Berkeley Way,3964217988,1969-06-20,1,4,0,173.6,80,donavan.kenslow@aol.com,0 +36,Eu,Dax,52 School Aly,3968157621,1975-07-11,1,4,1,174.1,98,dax.eu@aol.com,0 +37,Colino,Averi,10 Maryland St,7692774739,1938-05-14,1,5,0,170.1,86,averi.colino@aol.com,0 +38,Paquin,Luna,19 Chester Ave,8134296639,1957-02-10,1,4,0,188.4,101,luna.paquin@aol.com,0 +39,Mounkes,Carolyn,53 Unnamed 186,2462945963,1991-05-16,1,4,0,169.5,99,carolyn.mounkes@aol.com,0 +40,Wiste,Rodrigo,89 Ventura Ave,3284464813,1934-09-14,1,4,0,171.1,94,rodrigo.wiste@aol.com,0 +41,Buhlig,Eve,56 Gardener Rd,9885617452,1951-07-10,1,4,0,169.4,99,eve.buhlig@aol.com,0 +42,Gregorius,Evelyn,29 Lakeshore Plz,5189971728,1985-06-06,1,6,0,184.4,101,evelyn.gregorius@aol.com,0 +43,Leitman,Rohan,76 Polaris Way,5896396797,1941-08-24,1,4,1,198.7,117,rohan.leitman@aol.com,0 +44,Schnyer,Payton,9 Torrens Ct,5173937377,1945-04-23,1,4,0,183.3,126,payton.schnyer@aol.com,0 +45,Schwertfeger,Royce,88 Sola Ave,6972975223,1979-02-19,1,4,1,172,111,royce.schwertfeger@aol.com,0 +46,Dunkelberger,Kira,15 Hoffman Ave,3836515468,1931-03-20,1,3,0,179.2,113,kira.dunkelberger@aol.com,0 +47,Bridgford,Emiliano,17 Flounder Ct,3955835814,1993-09-14,1,4,0,189.3,96,emiliano.bridgford@aol.com,0 +48,Bothe,Alexis,10 Jules Ave,7929985837,1967-12-25,1,4,1,161.4,83,alexis.bothe@aol.com,0 +49,Lafountain,Kadence,22 Patterson St,6272186531,1977-07-06,1,4,0,170.7,107,kadence.lafountain@aol.com,0 +50,Latting,Kelly,18 Regent St,8139583261,1954-12-05,1,5,0,178.2,116,kelly.latting@aol.com,0 +51,Kauder,Davon,83 Havenside Dr,8186195554,1985-04-17,1,4,0,166.2,141,davon.kauder@aol.com,0 +52,Kochanowicz,Lilly,92 Whittier St,9319644263,1988-02-23,1,4,1,176.1,127,lilly.kochanowicz@aol.com,0 +53,Altamimi,Zackary,79 Cordelia St,2387983376,1955-12-08,1,5,1,172.1,136,zackary.altamimi@aol.com,0 +54,Stimple,Uriel,46 Lily St,6649825291,1992-08-08,1,4,0,159.6,72,uriel.stimple@aol.com,0 +55,Schoeler,Jordan,57 Wisser Ct,6743736451,1961-03-02,1,5,1,157.4,135,jordan.schoeler@aol.com,0 +56,Deshaw,Semaj,68 Fernandez St,5849622311,1979-03-04,1,4,1,174.6,89,semaj.deshaw@aol.com,0 +57,Blicharz,Madilynn,79 Paul Ave,4896528336,1980-09-26,2,4,1,175.4,108,madilynn.blicharz@aol.com,0 +58,Sloat,Kathleen,48 Edie Rd,7842325432,1976-02-06,1,5,1,172.5,168,kathleen.sloat@aol.com,0 +59,Medalen,Bo,70 Hwy 101 Southbound,7634451243,1933-07-04,1,4,1,179,88,bo.medalen@aol.com,0 +60,Herzfeld,Travis,58 Marcy Pl,6453834356,1986-08-26,1,5,1,185.6,96,travis.herzfeld@aol.com,0 +61,Foslien,Jade,82 Bella Vista Way,4999794481,1945-02-06,1,4,0,178,113,jade.foslien@aol.com,0 +62,Wojcik,Haven,66 Laguna Honda Blvd,6938452315,1961-10-03,1,5,1,177.6,72,haven.wojcik@aol.com,0 +63,Gutierrec,Emilie,38 Majestic Ave,9694395462,1947-04-08,1,4,1,169.2,96,emilie.gutierrec@aol.com,0 +64,Seery,Arthur,11 Westmoorland Dr,5596491862,1964-12-17,1,4,0,171.8,137,arthur.seery@aol.com,0 +65,Catha,Jeffery,82 Merrie Way,8665512644,1957-03-08,1,4,1,178.5,108,jeffery.catha@aol.com,0 +66,While,Shiloh,75 Unnamed 119,2437998195,1939-04-21,1,4,1,167.5,141,shiloh.while@aol.com,0 +67,Decesaris,Rachel,57 Unnamed 068,6238517537,1945-08-21,0,4,1,176.8,121,rachel.decesaris@aol.com,0 +68,Andrade,Omari,88 Knollview Way,4362577494,1944-03-05,1,3,1,164.8,60,omari.andrade@aol.com,0 +69,Borus,Fiona,71 Lunado Way,7785397813,1962-03-08,1,4,1,175.7,97,fiona.borus@aol.com,0 +70,Pfeffer,Karma,49 Evans Ave,6479387343,1970-01-22,1,4,0,174.4,134,karma.pfeffer@aol.com,0 +71,Hoole,Kasey,71 Channel St,7483131981,1954-11-04,1,4,0,161.3,76,kasey.hoole@aol.com,0 +72,Maduro,Vanessa,1 Rae Ave,6494624743,1939-06-20,1,4,1,175.1,132,vanessa.maduro@aol.com,0 +73,Berardini,Payten,27 Francis St,3927833915,1985-05-02,0,4,0,172.6,118,payten.berardini@aol.com,0 +74,Bourk,Marianna,88 Unnamed 145,2962621698,1944-03-20,1,5,0,161.1,127,marianna.bourk@aol.com,0 +75,Acho,Jalen,54 Le Conte Cir,5148736418,1956-03-27,1,4,0,186.6,80,jalen.acho@aol.com,0 +76,Tadros,Camila,73 i-280 n Off Ramp,6359238342,1944-02-06,0,5,1,183,99,camila.tadros@aol.com,0 +77,Keodara,Jaiden,8 Blythdale Ave,8627495393,1931-09-05,1,3,0,173.7,93,jaiden.keodara@aol.com,0 +78,Yoeun,Blaze,41 Margaret Ave,4643292453,1936-03-01,1,4,0,185.7,128,blaze.yoeun@aol.com,0 +79,Abutin,Madisyn,47 Junipero Serra Blvd Off Ramp,7687322837,1956-07-23,1,4,0,170.9,67,madisyn.abutin@aol.com,0 +80,Duarte,Shawn,82 Naylor St,5337196335,1934-08-18,1,4,0,177.1,91,shawn.duarte@aol.com,0 +81,Urquieta,Victor,18 Juanita Way,6389835719,1966-06-13,1,4,1,188.1,105,victor.urquieta@aol.com,0 +82,Lassman,Whitney,62 Toland St,4149738664,1985-10-23,1,1,0,152.6,117,whitney.lassman@aol.com,0 +83,Duneman,Diya,95 El Dorado St,8339551364,1965-08-07,1,4,1,166.7,139,diya.duneman@aol.com,0 +84,Neurohr,Adeline,39 West Halleck St,9262323173,1939-06-25,1,3,0,155.1,135,adeline.neurohr@aol.com,0 +85,Herstad,Rex,20 Horace St,3799558342,1950-10-03,1,4,0,179.7,77,rex.herstad@aol.com,0 +86,Garwacki,Emmanuel,19 Gordon St,2458158593,1944-03-11,1,5,0,168.5,94,emmanuel.garwacki@aol.com,0 +87,Piacentini,Janiya,40 Aerial Way,4868933329,1968-11-26,1,4,1,196.4,109,janiya.piacentini@aol.com,0 +88,Lassek,Ansley,92 Wilson St,4776956953,1971-10-10,1,4,1,170.8,97,ansley.lassek@aol.com,0 +89,Seamster,Evan,37 Rex Ave,5454145727,1992-08-27,1,5,0,173.6,133,evan.seamster@aol.com,0 +90,Surgener,Zaiden,98 Stockton Tunl,7682725467,1967-11-13,1,4,0,175.8,129,zaiden.surgener@aol.com,0 +91,Sansosti,Emmett,82 Iron Aly,9748132389,1945-05-17,1,1,1,171.2,64,emmett.sansosti@aol.com,0 +92,Sommerfield,Clare,33 Crook St,5317496383,1943-07-02,1,4,1,177.1,100,clare.sommerfield@aol.com,0 +93,Ladish,Jazmyn,19 Kronquist Ct,7638341392,1949-03-07,1,4,0,174.5,109,jazmyn.ladish@aol.com,0 +94,Bowlan,Bryan,61 Noriega St,3544138679,1967-08-22,1,4,1,172,146,bryan.bowlan@aol.com,0 +95,Demallie,Jensen,85 South Van Ness Ave,9164192581,1983-03-25,1,4,1,174.8,89,jensen.demallie@aol.com,0 +96,Goree,Phillip,37 Pretor Way,2565672813,1995-09-02,0,4,0,170.6,120,phillip.goree@aol.com,0 +97,Siefring,Salvador,49 Highland Ave,4583537532,1992-02-11,1,4,1,178.6,119,salvador.siefring@aol.com,0 +98,Balck,Danny,26 Ord Ct,2489764889,1953-08-04,1,4,0,166.8,91,danny.balck@aol.com,0 +99,Coquillard,Joe,61 Mono St,5383312541,1974-05-19,1,3,1,184.7,131,joe.coquillard@aol.com,0 +100,Kries,Alyvia,30 Westwood Dr,6623618591,1948-04-04,1,3,1,194,103,alyvia.kries@aol.com,0 +101,Sypien,Madilyn,54 Garfield St,3644937399,1969-03-27,1,3,0,166.2,88,madilyn.sypien@aol.com,0 +102,Heermann,Hailie,37 Clinton Park,2158836781,1956-09-13,1,4,1,178.4,124,hailie.heermann@aol.com,0 +103,Globerman,Jackson,82 Ardenwood Way,9539324315,1969-06-09,1,4,1,185.9,119,jackson.globerman@aol.com,0 +104,Colette,Kinley,93 Littlefield Ter,4536495174,1955-04-19,1,4,0,178.5,113,kinley.colette@aol.com,0 +105,Bramall,Aiyana,75 Lopez Ave,2123386166,1988-10-16,1,5,1,183.6,98,aiyana.bramall@aol.com,0 +106,Chhabra,Carina,90 Orben Pl,5964316333,1933-09-19,1,1,1,165.1,134,carina.chhabra@aol.com,0 +107,Truppa,Aditya,87 Shakespeare St,5545625575,1996-09-23,1,4,0,191.7,96,aditya.truppa@aol.com,0 +108,Swopes,Abraham,53 John Maher St,8592287719,1947-12-19,1,6,1,163.1,96,abraham.swopes@aol.com,0 +109,Fosse,Erica,67 Davis St,9266921283,1945-06-26,1,4,0,171.5,78,erica.fosse@aol.com,0 +110,Willmes,Gracie,67 Easement,7346997435,1935-10-19,1,4,0,164.8,77,gracie.willmes@aol.com,0 +111,Alfredson,Winston,79 Lincoln Way,7678135381,1973-11-10,1,4,0,170.6,98,winston.alfredson@aol.com,0 +112,Zanes,Talia,92 Sfgh Access,4464325628,1999-07-12,1,4,0,166.5,100,talia.zanes@aol.com,0 +113,Stanifer,Donald,26 Coso Ave,3819575913,1975-09-19,1,1,1,176.3,86,donald.stanifer@aol.com,0 +114,Naman,Lorena,14 Melrose Ave,5848181333,1982-12-23,1,4,1,157.9,104,lorena.naman@aol.com,0 +115,Firetto,Ulises,63 Leese St,9322881328,1936-10-03,1,4,0,202.6,80,ulises.firetto@aol.com,0 +116,Seaman,Keshawn,95 Fort Mason 12,3397758691,1994-04-22,1,4,0,168.8,136,keshawn.seaman@aol.com,0 +117,Zittel,Miranda,59 Onique Ln,2355343642,1987-11-08,1,4,0,166.4,93,miranda.zittel@aol.com,0 +118,Fairless,Kiley,26 Oakhurst Ln,6912352635,1969-09-07,1,3,0,164.7,111,kiley.fairless@aol.com,0 +119,Mwaura,Myla,91 Pennington St,9198494689,1962-03-05,1,4,0,189.8,129,myla.mwaura@aol.com,0 +120,Magagna,Anabella,10 College Ter,5372335953,1985-10-16,1,5,1,168.9,85,anabella.magagna@aol.com,0 +121,Mccubbin,Haleigh,35 Lansdale Ave,2794386135,1993-09-13,1,4,0,199.6,143,haleigh.mccubbin@aol.com,0 +122,Salzar,Kamryn,50 Unnamed 027,8983242914,1986-10-16,1,4,1,175,125,kamryn.salzar@aol.com,0 +123,Kayl,Payton,32 Fortuna Ave,6859581677,1963-07-21,1,4,1,176.7,115,payton.kayl@aol.com,0 +124,Marck,Brooklynn,15 Quint St,4654223646,1985-05-11,1,5,0,171.3,121,brooklynn.marck@aol.com,0 +125,Butcher,Cyrus,34 Blackstone Ct,6838543947,1955-06-08,1,4,0,174.2,96,cyrus.butcher@aol.com,0 +126,Kief,Grant,3 Portola Dr,6223864329,1948-05-25,1,3,1,167.2,102,grant.kief@aol.com,0 +127,Morgen,Aiden,46 j St,4323147177,1947-07-09,1,4,1,152.3,84,aiden.morgen@aol.com,0 +128,Whisonant,Seth,25 Sunset Blvd on Ramp,7748131789,1953-07-24,1,4,1,178.5,125,seth.whisonant@aol.com,0 +129,Carlisi,Ramiro,13 Tandang Sora,2457976683,1948-06-09,1,4,1,163,142,ramiro.carlisi@aol.com,0 +130,Zerfoss,Oscar,49 Sonoma St,6373835655,1961-02-15,1,3,0,162.2,122,oscar.zerfoss@aol.com,0 +131,Valor,Layton,62 Vermont St,4218942963,1968-12-07,1,4,0,173.8,69,layton.valor@aol.com,0 +132,Riden,Amina,57 Rome St,4895836813,1983-12-12,1,4,0,161.2,120,amina.riden@aol.com,0 +133,Reisinger,Jaylah,29 Merriam Ln,4263172325,1951-10-08,1,3,0,168.6,128,jaylah.reisinger@aol.com,0 +134,Raskin,Carter,18 Vista Verde Ct,4892834229,1995-04-08,1,4,0,166.3,146,carter.raskin@aol.com,0 +135,Pulanco,Casey,76 Giants Dr,3736371924,1939-11-12,1,4,1,176.5,141,casey.pulanco@aol.com,0 +136,Bunning,Serenity,22 Clipper Ter,6736918132,1976-07-04,1,4,0,189.2,125,serenity.bunning@aol.com,0 +137,Cromedy,Darrell,87 Leona Ter,5735915136,1972-07-09,1,4,0,146.9,126,darrell.cromedy@aol.com,0 +138,Hasiak,Hayden,83 Allston Way,9463516256,1982-09-26,1,4,0,172.9,122,hayden.hasiak@aol.com,0 +139,Shemo,Laura,29 Walter u Lum Pl,4982994239,1963-08-25,1,4,0,176.4,108,laura.shemo@aol.com,0 +140,Maduri,Molly,95 Mandalay Ln,4478135499,1945-10-05,1,4,0,175,86,molly.maduri@aol.com,0 +141,Regan,Cruz,76 Medau Pl,2669527399,1986-04-07,1,4,0,160.6,128,cruz.regan@aol.com,0 +142,Messman,Craig,74 Radio Ter,2489837538,1996-11-23,1,4,1,176,102,craig.messman@aol.com,0 +143,Camacho,Marisol,42 Unnamed 190,5942391233,1998-10-22,1,4,1,163.8,124,marisol.camacho@aol.com,0 +144,Borrero,Kathy,9 Selby St,9384251326,1974-10-16,2,1,0,180.6,120,kathy.borrero@aol.com,0 +145,Woughter,Tony,24 Minerva St,8352272633,1958-02-10,1,5,1,160.1,95,tony.woughter@aol.com,0 +146,Beckes,Bridget,99 Cloud Cir,3444213777,1969-10-10,1,3,0,192.1,116,bridget.beckes@aol.com,0 +147,Desilva,Colt,17 Byxbee St,6594384688,1944-12-15,1,4,0,174.7,96,colt.desilva@aol.com,0 +148,Butros,Byron,57 Reuel Ct,7174325198,1991-10-06,1,4,0,156.3,134,byron.butros@aol.com,0 +149,Sadlier,Liana,36 Troy Aly,2538134325,1932-07-07,1,4,1,159.2,138,liana.sadlier@aol.com,0 +150,Shuaib,Carla,7 Lawton St,2763872637,2000-02-14,1,4,1,168.7,119,carla.shuaib@aol.com,0 +151,Baylock,Robert,45 Upton Ave,6434418497,1977-03-15,1,4,1,163.6,131,robert.baylock@aol.com,0 +152,Coram,Camden,93 Rodgers St,5216842916,1939-06-04,1,4,1,172.9,82,camden.coram@aol.com,0 +153,Beutler,Branson,51 Hicks Rd,7447846786,1956-08-02,1,4,0,186.8,114,branson.beutler@aol.com,0 +154,Bartoni,Shaun,5 Sawyer St,8892347562,1990-10-17,1,4,0,171.6,60,shaun.bartoni@aol.com,0 +155,Mylonas,Mikayla,5 Oak Grove St,2554928134,1935-04-27,1,4,0,161.8,97,mikayla.mylonas@aol.com,0 +156,Fremder,Monica,64 Cowles St,9698875176,1931-06-22,1,1,0,173.8,103,monica.fremder@aol.com,0 +157,Boeker,Charlee,7 Heritage Ln,5885644697,1983-10-21,1,3,1,158.4,118,charlee.boeker@aol.com,0 +158,Why,Aubrey,32 Hill St,8932176697,1938-03-19,1,4,1,151.9,118,aubrey.why@aol.com,0 +159,Mercadel,Julia,95 Zoe St,7932121322,1972-10-13,1,4,0,182.6,116,julia.mercadel@aol.com,0 +160,Rutherford,Lukas,34 Clay St,3884728135,1960-09-19,1,4,1,179.5,66,lukas.rutherford@aol.com,0 +161,Pritzlaff,Kenya,47 Alemany Blvd,5738545465,1965-06-03,1,4,0,157.3,144,kenya.pritzlaff@aol.com,0 +162,Villanti,Prince,36 Fair Oaks St,6339813671,2000-12-23,1,4,0,168,157,prince.villanti@aol.com,0 +163,Alejandro,Ethan,61 Saint Francis Pl,5253417558,1961-01-26,1,4,1,183.8,120,ethan.alejandro@aol.com,0 +164,Saunier,Essence,88 Woolsey St,6846258551,1998-04-10,1,5,0,156.9,132,essence.saunier@aol.com,0 +165,Caillouette,Kendall,31 Conservatory Access Rd,9552326146,1938-08-15,0,4,0,172.4,115,kendall.caillouette@aol.com,0 +166,Hafler,Caroline,88 Holladay Ave,2283896438,1989-06-16,1,4,0,186.8,138,caroline.hafler@aol.com,0 +167,Seaborg,Mckinley,89 Belle Ave,3783318812,1989-09-03,1,4,1,178.8,99,mckinley.seaborg@aol.com,0 +168,Hradsky,Raina,83 Greenwich Ct,7234687835,1969-06-05,1,4,0,177.1,93,raina.hradsky@aol.com,0 +169,Woollett,Tristan,74 Font Blvd,6383656679,1951-08-16,1,4,1,187.1,94,tristan.woollett@aol.com,0 +170,Travitz,Enzo,14 Joost Ave,9963164371,1990-02-21,1,4,1,166.8,83,enzo.travitz@aol.com,0 +171,Ruperto,Sofia,13 Toledo Way,7693122141,1986-05-10,1,5,1,173.9,82,sofia.ruperto@aol.com,0 +172,Dohm,Elianna,39 Veterans Dr,7333497335,1979-03-21,1,4,1,174.8,86,elianna.dohm@aol.com,0 +173,Benisch,Cesar,43 Wisconsin St,4176676338,1975-11-03,1,4,1,161.4,67,cesar.benisch@aol.com,0 +174,Hirdes,Tyrese,97 Cambridge St,4665631568,1948-09-19,0,4,0,157.5,89,tyrese.hirdes@aol.com,0 +175,Measmer,Kamari,93 Friendship Ct,2972216846,1981-11-07,1,4,0,172.8,147,kamari.measmer@aol.com,0 +176,Padula,Haiden,39 Fairfax Ave,8977564798,1986-07-23,1,4,1,152.5,93,haiden.padula@aol.com,0 +177,Boughter,Jayvon,4 Burritt St,2577135467,1985-04-27,1,4,1,180.7,95,jayvon.boughter@aol.com,0 +178,Doehne,Kaylie,64 Clifford Ter,9314631534,1943-11-07,1,4,0,188.5,105,kaylie.doehne@aol.com,0 +179,Swatman,Harrison,87 Serrano Dr,2744846366,1959-05-10,1,4,1,172.6,120,harrison.swatman@aol.com,0 +180,Doromal,Kaliyah,92 Dellbrook Ave,5333417864,1948-11-07,1,4,0,172.5,106,kaliyah.doromal@aol.com,0 +181,Ruisi,Scott,31 Ordway St,7623732683,1991-04-15,1,4,0,188.3,102,scott.ruisi@aol.com,0 +182,Catolico,Griffin,15 Bernice Rodgers Way,8676831634,1971-10-11,1,4,0,168.2,85,griffin.catolico@aol.com,0 +183,Rizzardi,Lindsay,77 Tehama St,8813333278,1954-02-21,1,4,0,169.7,94,lindsay.rizzardi@aol.com,0 +184,Nakazawa,Reed,42 Ankeny St,5647458547,1930-09-16,1,3,0,204.3,144,reed.nakazawa@aol.com,0 +185,Donnellon,Eugene,77 Trenton St,8817431863,1960-10-12,1,4,0,169.8,133,eugene.donnellon@aol.com,0 +186,Steidler,Tristian,66 Rod Rd,5232885761,1947-10-27,1,4,0,164.2,119,tristian.steidler@aol.com,0 +187,Sayler,Dillon,25 West Clay St,2654981836,1991-03-25,1,4,1,159.7,83,dillon.sayler@aol.com,0 +188,Eppel,Danna,40 Saint Germain Ave,9682843534,1960-06-12,1,4,0,173.6,71,danna.eppel@aol.com,0 +189,Folkerts,Kaydence,91 Richards Cir,7318418137,1941-06-15,1,4,0,169.2,105,kaydence.folkerts@aol.com,0 +190,Miccoli,Oswaldo,20 Vasquez Ave,9232593953,1983-06-27,1,1,0,170.1,161,oswaldo.miccoli@aol.com,0 +191,Ormandy,Jordin,80 Broadmoor Dr,8234546663,1976-07-23,1,4,0,187,103,jordin.ormandy@aol.com,0 +192,Millirons,Helen,58 Bay Shore Blvd Off Ramp,3334486764,1943-07-27,1,4,0,175.9,95,helen.millirons@aol.com,0 +193,Harrilal,Elsa,79 Monterey Blvd,3433125546,1989-10-26,0,4,0,167.8,117,elsa.harrilal@aol.com,0 +194,Milhoan,Denisse,83 Landers St,7675554665,1945-09-12,1,5,1,173.9,124,denisse.milhoan@aol.com,0 +195,Kronfeld,Kylie,30 Washington St,7325837323,1933-05-18,1,6,0,183.6,136,kylie.kronfeld@aol.com,0 +196,Addleman,Blaine,58 Del Vale Ave,7386383764,1988-04-11,1,5,1,172.6,122,blaine.addleman@aol.com,0 +197,Sarkisyan,Stephanie,4 Quickstep Ln,8242397848,1965-02-19,1,4,0,169.2,104,stephanie.sarkisyan@aol.com,0 +198,Uebelhor,Mike,27 Kinzey St,5378358513,1954-01-08,1,3,1,189.5,89,mike.uebelhor@aol.com,0 +199,Simonik,Houston,63 Gloria Ct,6496696227,1980-11-23,1,4,1,159.5,72,houston.simonik@aol.com,0 +200,Capiz,Nigel,81 Jerrold Ave,9525398175,1981-08-02,0,4,0,156.7,107,nigel.capiz@aol.com,0 +201,Steinweg,Jaidyn,11 Osgood Pl,6139917934,1970-01-25,1,6,1,185.2,145,jaidyn.steinweg@aol.com,0 +202,Schieferstein,Tessa,13 Unnamed 088,6954164239,1995-03-04,1,4,1,170.4,118,tessa.schieferstein@aol.com,0 +203,Hauner,Demarion,94 North 15th Ave,7534414735,1978-10-10,1,4,0,169.3,122,demarion.hauner@aol.com,0 +204,Hessee,Tania,39 Standish Ave,2193536591,1980-06-03,1,4,1,172,107,tania.hessee@aol.com,0 +205,Iseminger,Natalia,39 Westgate Dr,4359391229,1950-06-09,1,4,0,142.5,132,natalia.iseminger@aol.com,0 +206,Wineski,Jimena,95 Waltham St,9347974239,1995-04-04,1,4,1,169.9,90,jimena.wineski@aol.com,0 +207,Espanol,Solomon,61 Nancy Pelosi Dr,8946761836,1931-04-16,1,4,0,180.5,87,solomon.espanol@aol.com,0 +208,Cerasani,Aylin,34 Black Pl,9868533885,1950-08-05,0,3,0,159.3,125,aylin.cerasani@aol.com,0 +209,Pollari,Leonardo,52 Presidio Ave,4638932492,1934-11-20,1,6,0,193.8,111,leonardo.pollari@aol.com,0 +210,Pacini,Sullivan,66 Brentwood Ave,7234578493,1983-08-07,1,5,0,187.1,128,sullivan.pacini@aol.com,0 +211,Gansberg,Cristian,2 Treat Way,6289782657,1930-09-12,1,4,0,178.9,123,cristian.gansberg@aol.com,0 +212,Hajric,Bruce,64 Phelps St,5217138323,1931-01-14,1,4,1,167.3,143,bruce.hajric@aol.com,0 +213,Zaehringer,Gunnar,53 Waterville St,6295173291,1945-07-25,1,4,0,178,96,gunnar.zaehringer@aol.com,0 +214,Fey,Conor,88 Bonnie Brae Ln,8764313284,1958-03-05,1,4,1,166.5,123,conor.fey@aol.com,0 +215,Guidi,Reagan,82 Robinson Dr,4185127974,1958-02-27,1,3,0,165.6,123,reagan.guidi@aol.com,0 +216,Thorman,Jorden,19 Badger St,8212717596,1936-09-13,1,4,1,187.1,88,jorden.thorman@aol.com,0 +217,Noye,Jake,58 Lyon St,9415222364,1959-05-12,1,3,0,190.6,95,jake.noye@aol.com,0 +218,Freeh,Jenny,12 Soule Ln,6937186147,1970-10-12,1,4,1,164.6,128,jenny.freeh@aol.com,0 +219,Troncale,Brycen,7 Rockland St,7673347264,1991-12-26,1,4,0,172.3,104,brycen.troncale@aol.com,0 +220,Jehan,Destiny,25 Flora St,4956133287,1992-04-26,1,4,0,174.9,109,destiny.jehan@aol.com,0 +221,Sheh,Yael,3 Walnut St,6575653226,1936-11-09,1,3,0,163.1,116,yael.sheh@aol.com,0 +222,Furgason,Greyson,65 Seal Cove Ter,4618518342,1931-04-16,1,3,1,182.1,132,greyson.furgason@aol.com,0 +223,Karlic,Olivia,96 Arnold Ave,6933635915,1975-11-24,1,1,1,161,122,olivia.karlic@aol.com,0 +224,Wollak,Lucia,40 Alhambra St,7845734331,1989-06-19,1,4,1,177.4,106,lucia.wollak@aol.com,0 +225,Hagele,Adalynn,21 North Hughes Ln,4692318339,1982-05-17,1,4,0,166,163,adalynn.hagele@aol.com,0 +226,Hodapp,Lucy,84 Collins St,5549956813,1949-04-16,1,5,1,172.8,142,lucy.hodapp@aol.com,0 +227,Beam,Brice,32 York St,9838135359,1949-06-23,1,4,1,173.2,163,brice.beam@aol.com,0 +228,Bayona,Azaria,27 Hwy 101 n Off Ramp,7633121455,1961-08-01,1,4,1,168,48,azaria.bayona@aol.com,0 +229,Boyde,Nasir,12 East Beach Rd,5315334131,1964-10-10,1,5,0,174.5,75,nasir.boyde@aol.com,0 +230,Wentling,Amira,15 Indiana St,9426897753,1949-12-05,1,4,1,191.8,104,amira.wentling@aol.com,0 +231,Mcguirt,Kinsley,26 Elmira St,5243981637,1963-08-14,2,4,1,171.7,133,kinsley.mcguirt@aol.com,0 +232,Gorenflo,Rylee,53 Argonaut Ave,4292937899,1942-06-10,1,4,0,186.2,111,rylee.gorenflo@aol.com,0 +233,Cruzat,Aspen,21 Broad St,7558315853,1931-02-24,1,4,1,170.1,74,aspen.cruzat@aol.com,0 +234,Mcdonnold,Nicole,76 Albion St,6763516397,1969-08-07,0,4,0,160.7,114,nicole.mcdonnold@aol.com,0 +235,Srader,Arielle,75 Touchard St,6236368546,1935-10-26,1,4,0,163.3,111,arielle.srader@aol.com,0 +236,Salanitro,Carleigh,23 Reddy St,7186813865,1980-10-22,1,5,1,169.4,70,carleigh.salanitro@aol.com,0 +237,Jasch,Kailyn,4 Fort Funston Rd,2622342485,1969-11-07,1,3,0,157.9,122,kailyn.jasch@aol.com,0 +238,Nothdurft,Aliya,66 Dehon St,3334544366,1939-03-13,1,1,0,163.6,101,aliya.nothdurft@aol.com,0 +239,Bindewald,Adrianna,37 Pilgrim Ave,8137331462,1999-11-18,1,1,1,174.1,111,adrianna.bindewald@aol.com,0 +240,Hendry,Frank,17 Saint George Aly,4297994672,1954-08-18,1,1,0,173.1,66,frank.hendry@aol.com,0 +241,Gopal,Shea,20 Caine Ave,4988368393,1970-06-14,1,4,0,165,98,shea.gopal@aol.com,0 +242,Ercolino,Douglas,11 Emil Ln,4813717999,1953-07-24,1,4,0,177.4,125,douglas.ercolino@aol.com,0 +243,Hanig,Ayanna,18 Jones St,8433531342,1982-02-20,1,4,1,175.7,116,ayanna.hanig@aol.com,0 +244,Lapre,Anika,23 Reardon Rd,8156387469,1956-11-06,1,4,1,165.7,107,anika.lapre@aol.com,0 +245,Kuhlmey,Shaylee,50 Nichols Way,2347531862,1975-08-20,1,5,1,167.2,76,shaylee.kuhlmey@aol.com,0 +246,Denise,Macy,46 Virgil St,7135922716,1983-06-14,1,4,1,170.8,171,macy.denise@aol.com,0 +247,Hatala,Axel,74 Conservatory Dr East,5325834169,1965-11-08,1,5,1,152,104,axel.hatala@aol.com,0 +248,Klaustermeier,Naima,53 Middle West Dr,7932534883,1936-11-02,1,4,0,154.5,139,naima.klaustermeier@aol.com,0 +249,Kadish,Reuben,9 Halyburton Ct,8325145343,1939-05-15,1,4,0,188.4,91,reuben.kadish@aol.com,0 +250,Borseth,Jair,96 Holloway Ave,2332347383,1968-09-04,1,4,1,174.7,139,jair.borseth@aol.com,0 +251,Mastel,Rayna,85 Unnamed 097,6287917335,1937-06-06,1,4,1,176.1,134,rayna.mastel@aol.com,0 +252,Keyse,Cierra,4 Barry Ct,8137383169,1945-06-15,1,4,0,171.2,115,cierra.keyse@aol.com,0 +253,Mottershead,Raymond,46 Eagle St,3293236482,1937-07-17,1,3,1,172.1,172,raymond.mottershead@aol.com,0 +254,Lamott,Adelyn,66 Bertita St,5949731532,1969-06-03,1,4,0,185.8,116,adelyn.lamott@aol.com,0 +255,Curzon,Belinda,13 Unnamed 010,4259961438,1967-10-12,1,4,0,178.2,90,belinda.curzon@aol.com,0 +256,Finau,Bradley,43 Public Park,2375718834,1992-05-20,1,4,1,164.5,82,bradley.finau@aol.com,0 +257,Parulski,Van,2 Post St,7836853415,1935-10-17,1,4,1,160.7,114,van.parulski@aol.com,0 +258,Jerram,Tristen,66 Hwy 1 Northbound,4274394861,1970-01-15,1,4,0,148.4,172,tristen.jerram@aol.com,0 +259,Warpinski,London,51 Fairfield Way,4569331917,1993-11-16,1,4,0,142.9,149,london.warpinski@aol.com,0 +260,Sortman,Ty,14 Parkhurst Aly,6462373895,1938-09-16,1,4,0,166.5,116,ty.sortman@aol.com,0 +261,Tukua,Jayden,83 Middle Point Rd,9636386958,1974-04-25,1,4,0,178.6,93,jayden.tukua@aol.com,0 +262,Bidwell,Yaretzi,36 North Point St,9334245372,1960-08-16,1,4,0,154.1,145,yaretzi.bidwell@aol.com,0 +263,Betanzos,Pablo,15 Gladstone Dr,8455386253,1962-11-24,2,4,1,168.4,155,pablo.betanzos@aol.com,0 +264,Hergert,Linda,87 Huntington Dr,8319287382,1966-04-03,1,4,1,168.4,137,linda.hergert@aol.com,0 +265,Conlow,Destiney,85 Nauman Rd,3996157567,1930-08-06,1,3,1,165.6,97,destiney.conlow@aol.com,0 +266,Keovilay,Maria,28 Santa Ynez Ave,5343345377,1994-07-27,1,5,1,182,165,maria.keovilay@aol.com,0 +267,Skwara,Demarcus,85 Stillings Ave,9326395369,1964-06-17,1,6,1,152.7,101,demarcus.skwara@aol.com,0 +268,Reuss,Lucas,74 Lloyd St,4566623885,1996-06-16,2,4,1,162.2,82,lucas.reuss@aol.com,0 +269,Siders,Roy,95 Ozbourn Ct,6334752954,1952-09-14,2,3,0,171.4,100,roy.siders@aol.com,0 +270,Wynegar,Dereon,12 Funston Ave,3856956981,1988-09-18,1,5,1,179.6,103,dereon.wynegar@aol.com,0 +271,Heublein,Kendrick,47 Zanowitz St,8885977814,1936-08-17,1,4,0,191.1,76,kendrick.heublein@aol.com,0 +272,Lemoine,Sydnee,81 Myra Way,4288133847,1938-06-10,1,5,1,172.1,97,sydnee.lemoine@aol.com,0 +273,Guza,Boston,77 Alpha St,8218484418,1937-11-11,0,5,0,167,70,boston.guza@aol.com,0 +274,Brenz,Rosemary,24 Unnamed 161,5597443433,1964-09-02,1,4,1,167,72,rosemary.brenz@aol.com,0 +275,Kose,Mayra,56 Topaz Way,2486396255,1992-11-11,2,3,1,168.9,135,mayra.kose@aol.com,0 +276,Marrano,Elias,55 Yale St,9228781671,1943-07-23,1,4,0,161.9,106,elias.marrano@aol.com,0 +277,Oviatt,Zariah,24 Macondray Ln,5248895838,1985-02-06,1,4,0,181.2,105,zariah.oviatt@aol.com,0 +278,Santy,Jillian,4 Fillmore St,7442754312,1997-08-10,1,3,1,180.9,101,jillian.santy@aol.com,0 +279,Rothenbuhler,Maryjane,18 Hunter Rd,8273145234,1999-11-26,1,4,0,180.6,50,maryjane.rothenbuhler@aol.com,0 +280,Alert,Cason,26 First Dr West,7398534751,1953-03-04,1,3,1,172.8,123,cason.alert@aol.com,0 +281,Birts,Darion,65 Avenue f,6423724686,1943-09-12,1,5,0,169,128,darion.birts@aol.com,0 +282,Birkla,Brynlee,81 Chenery St,3356816632,1935-05-08,1,4,1,168.8,160,brynlee.birkla@aol.com,0 +283,Trembley,Brylee,66 Palace Dr,7822738236,1952-05-13,1,4,0,164.9,123,brylee.trembley@aol.com,0 +284,Toevs,Iris,66 Malvina Pl,5499227741,1979-10-26,1,5,1,169,151,iris.toevs@aol.com,0 +285,Malasig,Amiya,63 Townsend St,5775978689,1959-11-05,2,4,1,162.2,104,amiya.malasig@aol.com,0 +286,Fellini,Adelaide,27 Ingerson Ave,2746216186,1991-06-03,1,3,0,183.3,130,adelaide.fellini@aol.com,0 +287,Zagaja,Mylie,47 Zanowitz Ave,8846683973,1939-06-19,1,4,1,159.6,129,mylie.zagaja@aol.com,0 +288,Krakau,Brody,54 Olive St,5975784686,1972-07-04,1,4,1,172,85,brody.krakau@aol.com,0 +289,Nido,Max,55 Acevedo Ave,3614734187,1960-12-04,1,4,1,174.6,125,max.nido@aol.com,0 +290,Marchel,Porter,10 Jessie East St,5527235987,1964-06-12,1,4,0,157.2,135,porter.marchel@aol.com,0 +291,Cuzco,Jaydon,88 Harding Rd,8327353443,1950-04-07,1,4,0,169.6,120,jaydon.cuzco@aol.com,0 +292,Devery,Marlee,19 Starview Way,4295328983,1974-02-16,1,5,1,181.5,76,marlee.devery@aol.com,0 +293,Kudlacz,Gina,45 Hwy 101 n on Ramp,7336147671,1975-06-14,1,4,0,187.2,96,gina.kudlacz@aol.com,0 +294,Dumadag,Alia,44 Kenneth Rexroth Pl,8295792732,1985-02-22,1,6,0,179.2,145,alia.dumadag@aol.com,0 +295,Mulle,Cullen,38 Still St,4997834549,1994-07-05,1,3,0,167.1,128,cullen.mulle@aol.com,0 +296,Hvezda,Katelynn,26 Capp St,2323252676,1973-10-18,0,4,0,150.2,133,katelynn.hvezda@aol.com,0 +297,Chisom,Theresa,17 Sanches St,9799887553,1940-08-18,1,4,1,161.3,86,theresa.chisom@aol.com,0 +298,Brundin,Kenley,8 Wayne Pl,9413373325,1962-09-20,1,1,0,163.8,80,kenley.brundin@aol.com,0 +299,Krosch,Jerimiah,23 Hillcrest Rd,4642196759,1938-05-02,0,3,1,166.4,97,jerimiah.krosch@aol.com,0 +300,Lansman,Nikhil,43 Restani Way,2935765743,1985-03-27,1,3,1,179.9,157,nikhil.lansman@aol.com,0 +301,Soetaert,Kaleb,31 Kendall Dr,3335826215,1972-07-04,1,5,0,172.7,71,kaleb.soetaert@aol.com,0 +302,Keisman,Alexander,66 Rossi Ave,8387932293,1972-07-15,1,6,0,177.5,108,alexander.keisman@aol.com,0 +303,Firman,Jamie,25 Francisco St,3497311689,1931-06-04,1,4,0,178.3,130,jamie.firman@aol.com,0 +304,Olexy,Jude,13 Bernice St,7344494432,1938-06-12,1,4,0,166.1,139,jude.olexy@aol.com,0 +305,Petryk,Nora,72 Pierce St,4283734292,1945-09-18,1,4,1,168.5,137,nora.petryk@aol.com,0 +306,Shewmake,Chaz,35 Bacon St,8334936537,1958-09-07,1,4,0,172.2,128,chaz.shewmake@aol.com,0 +307,Brodfuehrer,Valentin,95 Rhode Island St,2878852813,1998-07-27,1,4,0,178.5,104,valentin.brodfuehrer@aol.com,0 +308,Alster,Izayah,71 Kimball Pl,4988418432,1939-11-12,0,4,1,169,131,izayah.alster@aol.com,0 +309,Bodison,Laurel,60 Venus St,3334397721,1937-06-19,1,4,1,162.7,85,laurel.bodison@aol.com,0 +310,Braseth,Ariel,44 Sabin Pl,2389333646,1940-11-22,0,3,0,169.7,88,ariel.braseth@aol.com,0 +311,Serres,Rory,16 Bayside Village Pl,8135773437,1991-10-21,1,4,0,167.2,121,rory.serres@aol.com,0 +312,Ditore,Bryson,3 Brompton Ave,4699581813,1977-06-22,1,4,1,171.7,124,bryson.ditore@aol.com,0 +313,Aberin,Isaias,29 Hillway Ave,9415995783,1995-06-12,1,4,1,166.3,133,isaias.aberin@aol.com,0 +314,Miramonti,Juliet,43 Lydia Ave,2162251775,1960-01-08,1,5,1,162.2,120,juliet.miramonti@aol.com,0 +315,Chom,Ronnie,5 San Marcos Ave,7452591718,1987-07-22,1,4,0,167.7,65,ronnie.chom@aol.com,0 +316,Delannoy,Stephany,82 Perimeter Path,8585634984,1952-03-22,1,4,1,192.7,130,stephany.delannoy@aol.com,0 +317,Alvin,Noe,95 Noe St,4442333743,1940-09-17,1,4,0,171.9,132,noe.alvin@aol.com,0 +318,Stefanos,Braylen,77 Unnamed 090,4269312899,1999-08-22,1,4,0,170.6,108,braylen.stefanos@aol.com,0 +319,Trumpet,Aaliyah,61 Montalvo Ave,3138637513,1999-03-26,1,4,1,186,120,aaliyah.trumpet@aol.com,0 +320,Hyrne,Lizeth,74 Coral Ct,9823914549,1946-09-03,1,4,1,169,124,lizeth.hyrne@aol.com,0 +321,Scarry,Kiera,57 Kissling St,7813333386,1952-03-25,1,1,1,194.6,87,kiera.scarry@aol.com,0 +322,Barao,Samson,39 Guerrero St,5777785289,1999-11-12,1,4,0,179.2,115,samson.barao@aol.com,0 +323,Dangelo,Nayeli,47 North Dr,2244698744,1967-10-20,1,4,1,181.1,114,nayeli.dangelo@aol.com,0 +324,Duggal,Kathryn,30 Rizal St,7848322688,1998-10-25,1,4,1,182.9,141,kathryn.duggal@aol.com,0 +325,Lang,Bianca,26 Hollister Ave,3634297659,1962-07-05,1,3,0,160.4,78,bianca.lang@aol.com,0 +326,Leander,Katie,43 Steuben St,8938134618,1978-12-24,1,4,0,185,111,katie.leander@aol.com,0 +327,Manuelito,Peyton,27 Thomas more Way,8134738132,1980-07-02,1,4,0,176.2,80,peyton.manuelito@aol.com,0 +328,Behen,Tanner,92 Linda Vista Stps,3374712196,1972-08-13,1,3,1,170.1,117,tanner.behen@aol.com,0 +329,Welshons,Ross,93 Ford St,8218851824,1956-07-08,1,4,0,187.6,96,ross.welshons@aol.com,0 +330,Use,Jefferson,73 De Wolf St,3356674581,1946-07-24,1,4,0,165.5,152,jefferson.use@aol.com,0 +331,Scarfe,Giovanny,98 Maiden Ln,7539735632,1945-10-09,0,5,0,173.4,83,giovanny.scarfe@aol.com,0 +332,Frattura,Yandel,3 Jack London Aly,9438821275,1957-11-14,1,1,1,178.7,134,yandel.frattura@aol.com,0 +333,Kinneman,Uriah,33 Bird St,7732646852,1982-06-16,1,4,1,185,85,uriah.kinneman@aol.com,0 +334,Karpinski,Marquise,98 Wentworth Pl,7949522895,1944-07-11,1,4,1,175.5,109,marquise.karpinski@aol.com,0 +335,Morihara,Antoine,97 Cassandra Ct,8888923221,1996-07-22,1,4,0,174.9,121,antoine.morihara@aol.com,0 +336,Kerschner,Nathalie,93 Mcdonald St,9376765599,1987-10-12,1,4,0,164.5,121,nathalie.kerschner@aol.com,0 +337,Hasselback,Louis,14 Argent Aly,9597336913,1988-09-19,1,4,1,167.1,126,louis.hasselback@aol.com,0 +338,Granada,Lacey,77 Fisher Aly,7394371593,1972-02-16,0,4,0,181.1,157,lacey.granada@aol.com,0 +339,Paruch,Stanley,37 El Polin Loop,8555988438,1985-03-19,1,5,0,159.9,71,stanley.paruch@aol.com,0 +340,Rhude,Crystal,95 Fifth St,4637442343,1961-06-16,1,4,0,179.7,101,crystal.rhude@aol.com,0 +341,Comans,Abel,26 Euclid Ave,4697978833,1970-06-15,1,4,0,180,101,abel.comans@aol.com,0 +342,Miscavage,Makai,41 Lancaster Ln,9337141343,1976-08-15,1,4,1,173.5,79,makai.miscavage@aol.com,0 +343,Vanvooren,Jagger,46 Christmas Tree Point Rd,7823841813,1996-04-15,1,4,0,186.2,88,jagger.vanvooren@aol.com,0 +344,Warthen,Reagan,88 Rice St,7885422263,1961-05-25,1,3,1,180.2,36,reagan.warthen@aol.com,0 +345,Vidales,Hope,35 Quesada Ave,9138134321,1938-03-04,1,4,1,177.1,132,hope.vidales@aol.com,0 +346,Courts,Darien,61 Evelyn Way,4747382686,1953-09-20,1,4,1,166.7,84,darien.courts@aol.com,0 +347,Fobare,Dayana,2 Unnamed 146,7222871571,1955-06-26,1,4,1,190.2,91,dayana.fobare@aol.com,0 +348,Stingl,Franco,54 Brighton Ave,6557581491,1961-05-22,1,5,0,178.2,119,franco.stingl@aol.com,0 +349,Cearlock,Julie,73 Varela Ave,7842954234,1996-08-20,1,4,0,181.1,83,julie.cearlock@aol.com,0 +350,Colosimo,Ruben,7 Folsom St,2292388724,1995-07-22,1,4,1,165.6,128,ruben.colosimo@aol.com,0 +351,Hergenreder,Leslie,46 Lincoln Blvd,7735131793,1941-11-21,0,4,0,175.9,85,leslie.hergenreder@aol.com,0 +352,Ruscio,Savannah,30 Page St,7533716253,1998-01-20,1,4,1,168.4,151,savannah.ruscio@aol.com,0 +353,Gulbis,Giovanna,89 Santa Paula Ave,3836147817,1938-10-02,1,4,1,174.4,105,giovanna.gulbis@aol.com,0 +354,Fonken,Anne,60 Laurel St,4733594832,1961-06-22,1,4,0,158,87,anne.fonken@aol.com,0 +355,Diepenbrock,Lennon,53 Treasure Island Rd,4823478842,1932-08-11,1,4,0,175.9,65,lennon.diepenbrock@aol.com,0 +356,Dickhausen,Jaqueline,92 Lane St,9312333675,1969-08-20,1,3,0,155.6,82,jaqueline.dickhausen@aol.com,0 +357,Peele,Amiyah,65 Hwy 1 to Hwy 101 Southbound Ramp,6985388866,1976-01-01,1,3,1,167.1,74,amiyah.peele@aol.com,0 +358,Bellido,Natalya,60 Unnamed 105,2899872186,1996-11-21,1,4,1,173.6,117,natalya.bellido@aol.com,0 +359,Piantedosi,Lauren,69 Ashbury St,5442465758,1934-08-25,1,4,0,171.2,164,lauren.piantedosi@aol.com,0 +360,Carolina,Sarah,81 Bridgeview Way,2548132237,1943-01-25,1,3,1,169.5,114,sarah.carolina@aol.com,0 +361,Early,Lucille,74 Delaware St,5819177789,1987-02-26,1,3,1,159.8,90,lucille.early@aol.com,0 +362,Bierma,Adam,56 Ewing Ter,2465413254,1985-06-07,1,4,1,158.5,141,adam.bierma@aol.com,0 +363,Eichers,Princess,54 Wool Ct,4172212883,1997-06-17,1,1,1,161.6,98,princess.eichers@aol.com,0 +364,Fons,Ashtyn,28 Fern St,8499773648,1969-10-12,1,4,1,177,128,ashtyn.fons@aol.com,0 +365,Tacon,Jaron,51 Timothy Pflueger Pl,6849296793,1947-01-22,1,4,1,180.4,130,jaron.tacon@aol.com,0 +366,Rightnowar,Darian,5 Dwight St,6412637271,1995-04-12,1,4,1,176.1,103,darian.rightnowar@aol.com,0 +367,Shellito,Lamont,90 Seymour St,4386346879,1986-10-11,2,4,0,166.9,98,lamont.shellito@aol.com,0 +368,Barris,Rudy,42 Prescott Ct,4679181392,1987-11-28,1,4,0,191.5,111,rudy.barris@aol.com,0 +369,Kimbro,Shamar,78 Santa Marina St,9555963881,1948-03-22,1,4,0,178.8,94,shamar.kimbro@aol.com,0 +370,Malhi,Preston,63 Gilroy St,3752383382,1948-07-12,1,4,1,173.2,132,preston.malhi@aol.com,0 +371,Smouse,Luciana,59 Birchwood Ct,9174741854,1932-01-22,1,4,0,188.1,91,luciana.smouse@aol.com,0 +372,Tallon,Ayla,55 South Dr,8356924269,1942-11-11,1,4,0,158,118,ayla.tallon@aol.com,0 +373,Bibriesca,Avery,78 Davidson Ave,9328256474,1948-06-10,1,4,0,180.4,97,avery.bibriesca@aol.com,0 +374,Jeansimon,Rodney,59 Vidal Dr,7368984522,1994-10-18,0,3,0,174.9,106,rodney.jeansimon@aol.com,0 +375,Vanderhoff,Aniya,43 Brumiss Ter,5918866737,1968-11-27,1,4,1,171.5,87,aniya.vanderhoff@aol.com,0 +376,Onaka,Skylar,38 Northwood Dr,7437244983,1992-08-21,1,4,0,171,76,skylar.onaka@aol.com,0 +377,Fretto,Hugo,8 Fisher Ave,7154155227,1952-09-23,1,3,0,176.6,98,hugo.fretto@aol.com,0 +378,Giuffre,Cadence,49 Calhoun Ter,7245386934,1941-08-08,1,4,0,156.7,68,cadence.giuffre@aol.com,0 +379,Jia,Kaeden,58 Kearny St,5586412273,1948-08-16,0,4,1,174.9,107,kaeden.jia@aol.com,0 +380,Shalla,Jazmin,60 Byron Ct,2584261723,1985-10-05,1,4,1,165.3,82,jazmin.shalla@aol.com,0 +381,Zindle,Alma,72 Northridge Rd,3273518489,1986-05-26,1,4,1,161.9,124,alma.zindle@aol.com,0 +382,Zingo,Marques,16 Unnamed 075,3245383427,1973-11-04,1,4,0,177.3,119,marques.zingo@aol.com,0 +383,Tarran,Kristina,18 Beulah St,7939547798,1953-09-26,1,3,0,162.2,95,kristina.tarran@aol.com,0 +384,Haden,Zaid,5 Nebraska St,6436363372,1959-05-18,1,4,0,176.5,69,zaid.haden@aol.com,0 +385,Paur,Tyree,75 Florida St,5965328774,1938-09-12,1,4,0,178.5,144,tyree.paur@aol.com,0 +386,Parkison,Jasper,77 Agua Way,3214234322,1976-05-17,0,4,0,170.6,105,jasper.parkison@aol.com,0 +387,Balliett,Gerardo,86 Delta St,2183233551,1933-08-20,1,3,0,170.2,105,gerardo.balliett@aol.com,0 +388,Haukap,Evelin,76 Montezuma St,8132684124,1988-11-19,0,4,0,184.7,98,evelin.haukap@aol.com,0 +389,Dencklau,Miracle,1 Macarthur Ave,2679641495,1938-02-01,1,4,1,155.7,164,miracle.dencklau@aol.com,0 +390,Redelk,Anna,88 Aquavista Way,3956965446,1961-07-18,1,3,1,182.9,95,anna.redelk@aol.com,0 +391,Nodd,Roger,96 Elwood St,8549472175,1951-02-08,1,4,0,168.2,54,roger.nodd@aol.com,0 +392,Percha,Alexzander,35 Dorcas Way,5335513581,1994-08-04,1,4,1,172.6,103,alexzander.percha@aol.com,0 +393,Trine,Cecelia,24 Funston Rd,7814337731,1984-03-07,1,4,1,192.3,107,cecelia.trine@aol.com,0 +394,Morilla,Heaven,31 Mesa St,5893413534,1948-12-05,1,3,1,183.2,104,heaven.morilla@aol.com,0 +395,Pocan,Wayne,24 West Portal Ave,2747881612,1992-11-06,1,1,0,167.4,109,wayne.pocan@aol.com,0 +396,Umipig,Marlene,90 Moore Ln,7732391395,1979-10-22,1,4,1,170.5,103,marlene.umipig@aol.com,0 +397,Feild,Paola,35 Garcia Ave,6573847652,1997-11-12,1,4,1,158.3,116,paola.feild@aol.com,0 +398,Lagrotta,Paloma,73 Digby St,3618231271,1954-09-22,1,4,0,154.8,97,paloma.lagrotta@aol.com,0 +399,Eisnor,Michaela,44 Rivas Ave,5412128932,1932-12-16,0,4,0,168.7,86,michaela.eisnor@aol.com,0 +400,Roseth,Madelynn,41 Charlton Ct,6736983164,1951-12-04,1,4,0,169.3,131,madelynn.roseth@aol.com,0 +401,Ude,Octavio,37 Murray Ln,3235882295,1987-03-13,1,3,0,174.4,105,octavio.ude@aol.com,0 +402,Lafevers,Justice,88 Cascade Walk,4195947656,1992-04-25,1,4,1,173.5,113,justice.lafevers@aol.com,0 +403,Rosich,Jack,40 Sears St,9236594233,1993-04-23,1,4,1,182,84,jack.rosich@aol.com,0 +404,Massachi,Corey,44 Lake Merced Hill,8877937223,1995-12-25,1,3,0,169.8,166,corey.massachi@aol.com,0 +405,Zintel,Tatiana,88 Lassen Aly,2883733933,1986-05-16,1,5,1,173.1,105,tatiana.zintel@aol.com,0 +406,Stubbe,Lena,46 Larch St,6679915545,1932-12-04,1,4,0,156.3,83,lena.stubbe@aol.com,0 +407,Stefanini,Camryn,29 Thomas Mellon Cir,5372633637,1969-04-14,1,4,0,181.3,135,camryn.stefanini@aol.com,0 +408,Hundley,Howard,61 Mcnair Ct,5375555363,1968-03-03,1,6,0,179.7,123,howard.hundley@aol.com,0 +409,Baes,Landin,58 Arlington St,9482572552,1981-06-20,1,5,1,191.6,79,landin.baes@aol.com,0 +410,Winsett,Skylar,66 Peninsula Ave,2249774733,1967-06-03,0,4,1,176.5,89,skylar.winsett@aol.com,0 +411,Aebi,Thaddeus,53 South Van Horn Ln,3556854928,1936-08-03,1,5,0,156.2,109,thaddeus.aebi@aol.com,0 +412,Moats,Coby,17 Lippard Ave,3524321885,1977-05-16,1,4,0,184.3,111,coby.moats@aol.com,0 +413,Riegelman,Karla,27 Santa Cruz Ave,3682333466,1944-09-05,0,4,0,174.5,121,karla.riegelman@aol.com,0 +414,Rongione,Lola,78 San Lorenzo Way,7636637914,1992-04-07,1,4,1,173.3,91,lola.rongione@aol.com,0 +415,Vitellaro,Jovanni,9 Child St,2133373815,1965-10-11,1,4,0,166.7,116,jovanni.vitellaro@aol.com,0 +416,Terrio,Dominic,16 Plaza St,6753743224,1936-10-21,1,4,1,180.9,167,dominic.terrio@aol.com,0 +417,Bisgrove,Amare,14 Woodside Ave,9552383583,1948-02-05,1,4,0,177.9,129,amare.bisgrove@aol.com,0 +418,Hupfer,Nataly,34 Colon Ave,5236314623,1962-02-26,1,4,0,185.1,119,nataly.hupfer@aol.com,0 +419,Koshy,Elisha,20 Mistral St,9412973783,1954-08-09,1,4,0,168.5,70,elisha.koshy@aol.com,0 +420,Paitsel,Matteo,84 Mendosa Ave,9344694138,1991-09-08,1,4,0,176.3,116,matteo.paitsel@aol.com,0 +421,Ehmke,Brenden,66 Bengal Aly,2192925276,1978-11-02,1,4,1,162.9,99,brenden.ehmke@aol.com,0 +422,Wilderman,Veronica,65 Laura St,5189534587,1948-02-01,1,6,1,190.3,111,veronica.wilderman@aol.com,0 +423,Stanbury,Jessica,6 Saint Elmo Way,8325857576,1963-01-03,1,4,0,160.8,89,jessica.stanbury@aol.com,0 +424,Policarpio,Addisyn,67 Terrace Dr,9536318718,1994-01-02,1,3,0,168.3,91,addisyn.policarpio@aol.com,0 +425,Sneeringer,Caylee,87 Geary Blvd,4526426228,1932-06-15,1,5,1,168.6,127,caylee.sneeringer@aol.com,0 +426,Ohar,Romeo,69 Lathrop Ave,5852184616,1983-02-24,1,4,0,155.5,86,romeo.ohar@aol.com,0 +427,Cincotta,Jamar,71 Unnamed 011,5376938794,1945-04-11,1,5,0,158.9,85,jamar.cincotta@aol.com,0 +428,Dahling,Ann,28 Whitney Young Cir,8829495632,1961-04-05,1,4,0,168.7,140,ann.dahling@aol.com,0 +429,Elvine,Paisley,95 Innes Ave,6372884813,1947-09-12,1,4,1,166.4,189,paisley.elvine@aol.com,0 +430,Rojeski,Casey,79 Treasury Pl,8856498612,1941-10-04,1,4,1,173.6,79,casey.rojeski@aol.com,0 +431,Cherney,Kieran,45 Ramsell St,3589714391,1961-06-13,1,3,1,163.4,79,kieran.cherney@aol.com,0 +432,Sencindiver,Colin,43 Rotteck St,8267235493,1949-02-23,1,3,0,184.2,109,colin.sencindiver@aol.com,0 +433,Mascari,Gideon,50 North View Ct,8135631653,1971-09-18,1,4,1,174.4,91,gideon.mascari@aol.com,0 +434,Cerecerez,Cassie,98 Ruckman Ave,5748483443,1999-05-06,1,4,0,176.1,94,cassie.cerecerez@aol.com,0 +435,Bastardi,Carsen,94 Harney Way,3995318357,1991-08-22,0,4,1,159.8,94,carsen.bastardi@aol.com,0 +436,Goyzueta,Malakai,60 Rhine St,4827671983,1955-03-22,1,4,1,180.9,114,malakai.goyzueta@aol.com,0 +437,Knapp,Allyson,61 Hunters Point Expy,4715731796,1968-07-17,1,5,0,163.6,138,allyson.knapp@aol.com,0 +438,Knab,Gael,54 Lillian St,7382881778,1995-11-26,1,5,1,173.7,80,gael.knab@aol.com,0 +439,Kullmann,Jeramiah,12 Westbrook Ct,2638553523,1996-03-11,1,4,0,163.2,124,jeramiah.kullmann@aol.com,0 +440,Byndom,Abril,85 Magnolia St,6545232453,1983-12-20,1,4,0,158.9,69,abril.byndom@aol.com,0 +441,Polera,Ayana,5 Safira Ln,5385972616,1976-10-06,1,4,0,180.9,111,ayana.polera@aol.com,0 +442,Hanway,Leah,97 Valdez Ave,3788716597,1981-06-06,1,5,0,190.7,129,leah.hanway@aol.com,0 +443,Wandick,Leon,80 Lundys Ln,6865616216,1988-12-11,1,4,0,168.9,105,leon.wandick@aol.com,0 +444,Pajot,Liam,69 Boutwell St,3359638828,1977-05-02,1,5,1,165.8,126,liam.pajot@aol.com,0 +445,Whiteley,Layne,1 Davis Ct,6516832952,1972-03-26,1,4,1,181.3,95,layne.whiteley@aol.com,0 +446,Bankowski,Santiago,7 Turk St,8266377692,1950-11-13,1,4,0,160.6,125,santiago.bankowski@aol.com,0 +447,Azbill,Paige,41 Fort Mason 15,3719253416,1954-03-27,1,4,1,186.5,105,paige.azbill@aol.com,0 +448,Cathro,Jadyn,61 Clarkson St,6334484416,1955-08-26,1,4,0,165.9,73,jadyn.cathro@aol.com,0 +449,Lole,Alejandra,75 Ahern Way,2436646926,1976-03-02,1,4,1,167.2,119,alejandra.lole@aol.com,0 +450,Ayersman,Devon,93 Newhall St,4897937737,1987-03-27,1,4,1,171.1,137,devon.ayersman@aol.com,0 +451,Doninger,Selah,16 Winthrop St,9366258323,1972-04-09,1,3,1,173.9,147,selah.doninger@aol.com,0 +452,Chatley,George,46 Commer Ct,2548986274,1960-02-15,0,4,1,170.5,120,george.chatley@aol.com,0 +453,Sandone,Eva,80 Gold Mine Dr,5784147729,1932-10-05,1,4,1,160.7,59,eva.sandone@aol.com,0 +454,Hillman,Jaiden,76 Dashiell Hammett St,8736152317,1973-05-09,1,1,0,183.6,137,jaiden.hillman@aol.com,0 +455,Muscato,Sebastian,44 Riverton Dr,9872745986,1941-08-07,1,4,0,183,134,sebastian.muscato@aol.com,0 +456,Adkin,Felicity,90 Avocet Way,8346562325,1931-01-28,1,4,0,171.8,131,felicity.adkin@aol.com,0 +457,Canney,Owen,1 Mill St,4353434766,1997-04-25,1,5,0,172.1,92,owen.canney@aol.com,0 +458,Gaudiello,Josiah,47 Nadell Ct,2425314193,1967-07-07,1,4,0,189.7,140,josiah.gaudiello@aol.com,0 +459,Waldbauer,Kelsey,17 Chancery Ln,4853457463,1970-04-08,1,4,0,164.5,153,kelsey.waldbauer@aol.com,0 +460,Henck,Jacqueline,96 Bemis St,2323362945,1941-08-21,1,5,1,175.8,140,jacqueline.henck@aol.com,0 +461,Martorana,Nathanael,35 Blake St,7767425331,1952-08-17,1,3,0,182.6,102,nathanael.martorana@aol.com,0 +462,Longenbach,Deanna,13 Park Hill Ave,5959382471,1941-08-21,1,5,1,168,141,deanna.longenbach@aol.com,0 +463,Tront,Lydia,4 Cuba Aly,6432895531,1940-08-21,1,4,0,186.2,139,lydia.tront@aol.com,0 +464,Voeun,Kayleigh,76 Pioche St,8135667893,1970-01-15,1,4,0,173.8,84,kayleigh.voeun@aol.com,0 +465,Diazdeleon,Brett,57 Bradford St,6995438976,2000-03-18,1,1,1,157.2,124,brett.diazdeleon@aol.com,0 +466,Matau,Mary,50 Jersey St,6835538365,1973-08-03,1,4,1,171.3,92,mary.matau@aol.com,0 +467,Amici,Ernesto,78 Ames St,2933391922,1993-12-05,1,4,1,177.9,113,ernesto.amici@aol.com,0 +468,Demoro,Ryann,66 Bliss Rd,7629157934,1932-04-04,1,6,1,166.1,111,ryann.demoro@aol.com,0 +469,Fidel,Krista,54 Heather Ave,5926674732,1937-03-12,1,4,0,165.1,98,krista.fidel@aol.com,0 +470,Bleggi,Eliezer,7 Sal St,4834388827,1947-07-28,1,4,1,164.4,159,eliezer.bleggi@aol.com,0 +471,Szynkowski,Claudia,21 Ver Mehr Pl,5847497577,1948-11-13,1,5,1,180.6,129,claudia.szynkowski@aol.com,0 +472,Profera,Nyasia,91 Clement St,9338815644,1999-10-23,1,4,1,166.6,116,nyasia.profera@aol.com,0 +473,Kuhlmann,Patricia,5 Lamartine St,9137828929,1938-03-11,1,4,0,154.4,77,patricia.kuhlmann@aol.com,0 +474,Klingenstein,Jesus,9 Castelo Ave,8653514228,1970-06-03,1,4,1,178,113,jesus.klingenstein@aol.com,0 +475,Lichtfuss,Alisson,38 Rosemary Ct,2944438131,1979-05-28,1,5,1,176.3,156,alisson.lichtfuss@aol.com,0 +476,Datwyler,Cora,74 Stockton St,5923164713,1942-08-23,1,4,1,175.3,47,cora.datwyler@aol.com,0 +477,Tadych,Dakota,38 Sibert Ln,3376646323,1947-07-07,1,4,1,152.7,123,dakota.tadych@aol.com,0 +478,Vaessen,Kelton,25 Mcallister St,7918246945,1996-06-28,1,4,0,175.2,114,kelton.vaessen@aol.com,0 +479,Wickstrom,German,52 Shotwell St,7392973896,1981-01-26,1,4,1,180.5,87,german.wickstrom@aol.com,0 +480,Vilay,Laila,98 Santos St,2263264495,1965-09-11,1,4,1,205.3,125,laila.vilay@aol.com,0 +481,Cains,Lorelai,66 Elim Aly,8133281336,1998-01-06,1,4,0,183.1,120,lorelai.cains@aol.com,0 +482,Tamminen,Charlotte,57 Bitting Ave,9399716334,1958-10-15,1,4,0,180.1,152,charlotte.tamminen@aol.com,0 +483,Mcgettigan,Keaton,39 Twin Peaks Blvd,3628135339,1953-08-19,1,4,1,172.4,104,keaton.mcgettigan@aol.com,0 +484,Poniatowski,Holden,56 Diaz Ave,6845337923,1973-03-06,1,4,0,165.7,96,holden.poniatowski@aol.com,0 +485,Feyerabend,Tyler,45 Arellano Ave,9613845374,1979-10-20,1,4,0,166.8,103,tyler.feyerabend@aol.com,0 +486,Steinhauer,Georgia,14 Geneva Ave,8139996123,2000-02-21,1,4,0,180.5,129,georgia.steinhauer@aol.com,0 +487,Aiello,Leland,27 Avenue b,2934282737,1991-07-18,1,3,0,187.9,96,leland.aiello@aol.com,0 +488,Maulin,Damaris,70 Van Buren St,4619488351,1952-06-23,1,4,1,173.2,105,damaris.maulin@aol.com,0 +489,Beson,Billy,75 Mary St,2768785632,1941-03-28,1,6,1,178.6,122,billy.beson@aol.com,0 +490,Pervier,Angie,74 Potomac St,8137176391,1959-01-22,1,4,1,175.5,113,angie.pervier@aol.com,0 +491,Hesford,Beau,27 Blandy St,3174638237,1939-08-19,1,4,1,174.6,97,beau.hesford@aol.com,0 +492,Peterson,Mattie,84 Sandpiper Cove Way,3547535393,1948-03-16,1,5,1,192.8,64,mattie.peterson@aol.com,0 +493,Zotti,Chase,88 Kirkham St,6139572215,1982-04-27,1,4,1,162.3,61,chase.zotti@aol.com,0 +494,Gendelman,Cooper,28 Shephard Pl,8176337737,1931-08-18,1,4,1,171.6,121,cooper.gendelman@aol.com,0 +495,Salsburg,Brock,12 Redondo St,5738981318,1982-08-22,1,4,1,169,148,brock.salsburg@aol.com,0 +496,Hempler,August,58 Escondido Ave,5733392122,1938-07-14,1,4,0,171.7,143,august.hempler@aol.com,0 +497,Glassmeyer,Reese,19 Miley St,8637316327,1955-10-18,1,4,1,188.8,104,reese.glassmeyer@aol.com,0 +498,Lian,Adriel,31 Mccarthy Ave,2687223349,1932-11-11,1,4,1,176.4,65,adriel.lian@aol.com,0 +499,Grandchamp,Esteban,28 Harrington St,8136813778,2000-12-24,1,5,1,165,88,esteban.grandchamp@aol.com,0 +500,Wymes,Rashad,70 Faxon Ave,5334552366,1972-06-11,1,4,1,188.8,81,rashad.wymes@aol.com,0 diff --git a/vignettes/nih-enrollment-html.Rmd b/vignettes/nih-enrollment-html.Rmd index 60524a4..78b0eff 100644 --- a/vignettes/nih-enrollment-html.Rmd +++ b/vignettes/nih-enrollment-html.Rmd @@ -134,36 +134,23 @@ library(REDCapR) Next, download the data from the REDCap database into the `ds_2` data.frame. If you're running the most recent version of REDCapR (available on GitHub), the code will be: ```r -ds_2 <- REDCapR::redcap_read_oneshot( +ds_2 <- REDCapR::redcap_read( redcap_uri = "https://bbmc.ouhsc.edu/redcap/api/", # URL of REDCap Server. token = "F304DEC3793FECC3B6DEEFF66302CAD3", # User-specific token/password. guess_type = FALSE # Keep all variables as strings/characters. )$data ``` -The following code is more complicated than normal, because the vignette has to account for different versions of REDCapR being installed on the machine. + + +However [CRAN policy](https://cran.r-project.org/web/packages/policies.html) understandably discourages vignettes from using "Internet resources" so this vignette mimics the code above with this local call. On your own computer, feel free to call that demonstration REDCap project. ```{r redcap-establish} -if( !requireNamespace("REDCapR", quietly=TRUE) ) { - ds <- ds_2 # If REDCapR isn't installed, use the previous version of the dataset. -} else if( "0.9.8" < packageVersion("REDCapR") ) { - ds_2 <- REDCapR::redcap_read_oneshot( - redcap_uri = "https://bbmc.ouhsc.edu/redcap/api/", # URL of REDCap Server. - token = "F304DEC3793FECC3B6DEEFF66302CAD3", # User-specific token/password. - guess_type = FALSE # Keep all variables as strings/characters. - )$data -} else { - # Older versions of REDCapR don't have the `guess_type` parameter - ds_2 <- REDCapR::redcap_read_oneshot( - redcap_uri = "https://bbmc.ouhsc.edu/redcap/api/", # URL of REDCap Server. - token = "F304DEC3793FECC3B6DEEFF66302CAD3" # User-specific token/password. - )$data %>% - dplyr::mutate( - gender = as.character(gender), - race = as.character(race), - ethnicity = as.character(ethnicity) - ) -} +ds_2 <- + readr::read_csv( + file = system.file("misc/example-data-2.csv", package = "codified"), + col_types = readr::cols(.default = readr::col_character()) + ) ``` ### Conform to NIH Cosmetics From 156b8e7214e63a0db1ad9749dd13c14b366d9bf8 Mon Sep 17 00:00:00 2001 From: Will Beasley Date: Thu, 11 Aug 2022 20:31:57 -0500 Subject: [PATCH 02/18] update `dplyr::select_()` ref #9 --- R/table-nih-enrollment.R | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/R/table-nih-enrollment.R b/R/table-nih-enrollment.R index 47def13..82b6e10 100644 --- a/R/table-nih-enrollment.R +++ b/R/table-nih-enrollment.R @@ -159,10 +159,10 @@ table_nih_enrollment <- function( ) d <- d %>% - dplyr::select_( - "gender" = variable_gender , - "race" = variable_race , - "ethnicity" = variable_ethnicity + dplyr::select( + gender = !!variable_gender , + race = !!variable_race , + ethnicity = !!variable_ethnicity ) if( !is.null(d_lu_gender) ) { d <- d %>% From 306fc4c80238e24d129872ca102e525cfc9b79fc Mon Sep 17 00:00:00 2001 From: Will Beasley Date: Thu, 11 Aug 2022 20:34:22 -0500 Subject: [PATCH 03/18] remove pdf of documentation since pkgdown does this well ref #9 --- documentation-peek.pdf | Bin 79551 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 documentation-peek.pdf diff --git a/documentation-peek.pdf b/documentation-peek.pdf deleted file mode 100644 index 2147927311a2275698862cb1fd8879a87fe007d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 79551 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�^`&YGqoc8?zF!E^PgD6F_wcnrvJ(b{3o~$-Y`)ioX`}hlzXba) zRg_Rw7%}DWWA0S&q9CA`kJHR0itpgFq^MT*&jn7Vz0$h+Hm%e$;$HK469c&dLU$5L z2+X02v1eQ`$j)q>x_>|a$&`p8{-V93HqJPabP-D7xVExjg9N)9Ba;V2Zxn$5Mj2)f zLI(q^I_4K$uIziYujh+3*HdPEhkbks zZ_|f`&09OY86Qb`F|?dSKOUcqSX8)N*j;_FO}(%xdXP z#V4JA%k%_h^Ozx$0PVy0T1nWt!p&;S$mR0(#k11@h$$@i?swZPgcbOnYJ2pHHh~^# z3kaDA^Ax`Ha2|meAEav9kGj<>e=jqS=xt2bcp6yroigkKe5$P$fY#Uk{X;g9qkMs8 ziE{yfLK7Ok2RXc^!OsRB3iWMnrG&tnAEkV20DFSifALTF6xSa@RRK4GTgfnJ2M>hc zb`lf^ZQ+mQMashq>oTj)(g_I)k)P?BEg4@lbBXbeO#Sb83}ycXe!xS+qz(=%&~@O4 zJ9!rAdXAt_epJRGA{s=U!?BNYGa=y5%>EP-;$A>A%Z4<0JClM7a3Y~hlCkm%9SYkd z1y5*`w-Td>!6`GT5kEu7zNI>!8&saNC`oFUc}2^+rZ)%jvH5DMS9YM~*-)*XjR=UD z6W>&uCBc=x5ne??Mhm(3RHZYi;355m=l-)Lm(KLpaRqN&h|asE+X0wQUnd;Liw~vl z<-~HA_*gM4Cy}|_GC617ZaM9iY;(z1TyuzqS1@)Vp&EgLRNTt}Oic!A?#Xl-Vs&%j zqAL50oRi9d)5PZFgaI_I-=A+F*xKcn)W)kHwbkM3J-kQ;f03qMB^4?9=zGKBl1fK46N6&X5FskO0{w5 zNo2-kGeJp0c&$2l)~A6XSXwfw4BsT!9p#q#l8MIobisdEuHyT3o`%*6W)mZPWgLrz zkS{oU2TwEag@t~+14^lX4b;cg>Dmt$FW?aOSgZSPQZ{c=Rs%Wju5<-4vlWF0c8KXdcM+eZ^)wi_8V< z>K+kh0D;1Z9gs{;{KZ+_p@%ohV;khK*#)TcZrGA_} z@S(og2;8H^n$;YJtX_7wd;p)IrB^d*7Cuq?dPWt9ZgAD{zUG>fHszpDr@ zgPAjZ8hW3w^DHH*89POF9MCi(KY~!dED0Yiw5;&h1jV`%GBx%e8sh0#oa=IE@}csy zGh_G=tOGg;ge!5p5uOFy6-ZV~EXlhCXn9e$^J>>7qBzVwIVj0r_I?b2U`e=#Jp&^`|CPs&>Yz!fJfT0IF^Z&J(_)^lzFTbD+tcc=t1@({&e2HNS z0w;3PNB-WM6_R zo2u}ZDH_SgNOjGKZI5ugcq6_op!F3AEumB1q!{SuZ}mU8Y8~;U{6{vN|5jK_pCQ-t zwnmitZ7HNdpO_lEAfoLEGqx`B-;)f@Emy33R^eUKA6nx_wm$oib^9u-whTr{qtPh* z?xyM(qLsX4f%kwtAZR{^p(6)*a&b5iM`FOv70@mRim%ct#uPC;hpQ?Vi1nmWxQ|AtC#6p}*VwgTq zx_ze$cqMmZB^(t6KSlpod|XX|TvzA&nnTYfOBgwwp8PFTB1 z!Th)0&Dib8N<_~niQ;-vl3j~*bx(FacEeP!L%w>5?K^W4gVZlFQQ%bo-VgFTTlc>6 zA9T)wjZwcUU6<|gmnm%rVe|oxhJ-svPcn_$LcyK5_w4xoKYzlz3OaRQ3C_H@d}r7- z5vN>LxC~2Pe@Xczza}Y#DKa)u{1N3U-@)1&f$t)%K>nRIg28rmUM-`eiX*~z-@9Q; zyawYZfxq}hmUy)ZD>b?+jDU_qbAR5Ue3ta${=BknoA+fM_Dfu8otFkzvx>yLBbbQ6b#T4}8rHoN`owJ(%Ki7)lK*)8-gDD+ zH=U376E15k&JK11|2ajB2Ng%5I+K1Dd{nREKC0KYL{dU8;Hw#q~I3f4-c0B^OQdQJX8; zhv+&xW%|G}J*b8Ghg_0Md@M1$H(|Lt^p!1_>|FP5pnTrYr89O!sC7j?6rfbv_MPc~ z1q=9uup#4Y1zM^V)zNG7dxX@&9N3p1Q^izz$D^i1p(?>fRW&sf zDE?R8l|pZ_G%w&L)`JdPd{T(A@;N>;fh=IxCNiZw4!`Dq)!*X=CHx5mukDHYos8hv z#l4pBCO=&>jr2gPTDj`N?e}*Ax*OjZZP#=#z1Fd$^V`E*wK%RK3#Vycr3*6EFo< z9|HY)Rq^L4I3YpnYHn9)s-Dj_Tae2V9Ch@HN-EzPe1ZO>;B0!{A!IZSjYE3+Mv5#t zDsm$id*&JozpL|rB`f47Sa|^?dMHdi7SWr6h9D}yVu|Z$96aAY?^Qyu`f=-EyL3PO zR5cPN#J{E@I7!L2)FO1&2-@?iB&ROosMx-U+FN{KQqe zTxHoT+#f+PODl_$zw~cf8r&^itNdX+*MTpMmhIUB_x{(wceLQL@qcX)xeZPmFTa`v39=0^=k4=eA~>Ub^?Mes>%okDp#^GcJ_Ku9kp zBOs;HS3OkLRNG{uiZ$p@#p>V~Jpwm^UFV?zAQBZ$=+rrWR1!Hh&%#B$N{jd^1M6R; zS`QhIE3~r19q{cfo?>Ke^KKVqy@z^-6BLK~vN)+*v3o-27@X|Ss`KbCZ3<8IZ}Zo^ zO%-k=$r#6S!Y@%$9?7GqnP~T&sruyOh+R{_o!f z8Yd%^g&?c|ACenl=GU+k(EHImpiB;1mSR}0%IBfSid|5xN+~*0EZo5xJ8duzO_#ge z3)L4gG>Tjjyo?zcEIAq$8IMW6F|E$#1x&ciOFr8V?tMCV?y|hiZvd$pjnlR3oDTZG zbYYj*ar>$G2+Ix3F;2mJcDId-gXp-_`VkD56b%QjJ-3A`r6|D05b~Os5vk}#p#~DX z3x~ZVTVnz_WCwMwv!#NuT5bE5-<&N92%pX$>l5ftVoj1pILD_=X`j>zBd>)Gko#Yl(;0<-m=r+bXF z{f%~sCPg!9iT}cLd3HvDLBi}USokZQId~K{8xG8i5P%MDbUB3~Fj zol?hVq8NzsuNF{T+yUx;Y>VZ65|A@=-iHgVE4&3BZj8ZXRMlB=h7W#<@IqFN7*r*Z zgqXD%iT2j~xxWy{uMy=hNE>ZRA??l!%ej_ea7Md06!ba+?wEI2NPgjrfjCJpC>ey8$6$iz?z>I>g4!&IIUrDdZ5=>&I#OXv|&GuTHFTh;cCiP&Cs5Zr238b>f4XLPo7_C5yjfGQ*VA@5Mc4F%*b(=jO z4)(v^K?i^!+oV#6OC$ycWP$GT7p8_g*aIVZ#G3fyX`X)l7(AZ!4_P7Rvu)i!&@7gO zlXtj&?pI9o_oabW=ng|N==jFZ_`YyMR!xNx3Ru@|8c%aKV0s3EJcFjoXtSr07BRc^ z7iv+!u5$VVk5Fq*Yc-k?$6?>UV1e#k%5b%fXRV^Wh(>|So)Y>M1>QyEW6gxDr-sG6 z9o~(Bv~K#r$?5YpN7})erP4(6NPi2+DW}!Fwe2te05>r|d$1RUPXd6L4v&OMtzs2S z=sL9b8;yXCwG5yNJcfu|f_|}`+ND_fE=le}Sy}07(b)%d)}iblt{piKZT~jOXI_$)+K^v%B#R zW&b_FFI(Q||AsW5dA%xzcnzvJn^qE!y$%s3MmWdwyHusVeY+gAypP{Qy!O*fhB@Q* z=k^tb{uEJS2QfFUsRZ$)lAmgR)Bx9mpizuhwRK{CZuF z>FwznGFr+NuHiO9B1~LbbzpMN%JGKgs7R>VK67U1UO3IOI~SD^6fzcCmf90VGSvJ9dm~@SxpbmB!c<^8 zqiC?`T#APl$bhu3g3zKgDRr;{4I@(KJXpwsJklX}Rn6b5ZeRYFE4pKwOfZxT_mP=p z|5Vboy`y2v;Yovr2y^-SPH0y0LmD+}9p|Uu7iY@3GLNboR{>9#UqN}X6xh+D=z7gP zGRzq3(6rXwGxzjK5T{QCu{g)v2y_Eb10+wvNMtR`S>j&sD2KfzmyITYWLK( z5RoEbxNg352W%Ct0v9GC1yB)3dzBH&REBNkZ3@wAJkvePU388@0822J!HYsC%#z~Z z=0lKJI*tIzzcqorA`RXGlT_`gZKm~ESje^mDgMLHPG=P6x^7UgBq?*k0@C$_0JIKc zM#VTflOw&!$?-J^Pw(pG11QW@0Pm25PV9x@+p%Q|8MI>y1+0!$&AR4QBeC}VEr>E^ zTT)#zEf~f0+>Zu2EK;{ovtnN>Yh@EExS=V%1IA0fWIZIHw#uDogtz4i(#aTXuhD}( z4`EuPI+dGf`bF1w6h1^)q#L&g*KR`=8~PfQUl4qUuc<9wqi{X9qAe}tW-U=gC+w!A z_Ks+GyrSs`MwtAQjJd31^G>TCqpJaggchllBN&aQlsVK#qZeFJ_R!}0)EzY1N=eli zYn4UB0-2P}&Qm7VjFr_~;HW=C{!t4xY@0G~(L`nZL(~X3i2C3vHNHZOu9d!t??8U< z))S7#3(RSR?ei-8oifPb1A}5PyyhwqGCYJFq^4ez#zApB^hJ~SiU~!EL>L{~d^K-X zH_YqS9U-s8aJ2+#a%Wtd(I~a^9duls7aC@x?vz@J#|ooD9wGG8 z?atVD`6y(g{>$1x2P$D@+U!vQC6yj@dK#84pazGJ&Lh3UarFsn@=b&S5r|S((>*In z#A#ocp%Rm?4vDA0vso2mlos#qy};rE7d8d*6y@7{;EKeW(^uml&n}cI9}o>J z@NE9Fl*iXtQBVm2E9?s6cU_pwA3rTwo$KmFnn?Z?Cl= zArd>4>4I?7QGl$jcp4i@!qWO%Jt&2NfDz?N4i&aSE!TQTZX2w6a~+tUWVIJjNU3() zS|XlLR*d+mzTKf112=Tk+>uZ50I+iTl=)dLjziW9&mue-rk3EDs1@2rd?ri8^Fx3f zP3@OGSM@W@MtWk>b?7Pw_Ruyv^;~yXrYIVEQRak%COSDKDQ(Y zS!SAY_(W+MKZD}uD1Qq$|8g;5BCVhl=HG>i9j-LtBScnHmKF=sr-aeLywrG+0K)5~ z%T1$DNs=Fme?!_bx|A!^uO}JjLHH+jTk16Y=Gy`eQn^yM=TrwTm(IyXOI7LwtO4&# zx~B~S>j@$J{=}4Pz;@bI9sQBILls3IE+Pu6TzRNlQM8{KIT4O=NkBO z8bxd`70!9O5UxTuw@F~mY8NmN76mFPw_D)dmwUjae|7N2;@ z977NK8zqv=pTyuXJGE2o!k1jMuGT)yXq7MflY8Wv;JJM{iYrS?emAj2h@U!-hWRBX~ugd(37QI!3mUzC-XqvMxD8cxOe@G?Y5KA7)YdIuhT~* z1T4`;It5Ju5Y&`s4oSZh7(?~mJ7K`C*z&H6OhB3qhr;v4Az}}>h82w}4j+~Qd84@Q zoxy}wVi-O2cDqIRp`v7QCfiCn*K~hAn*eBk9Irqux^}ZTzXp$mMy;k13AwkA6H1)R z=Gw2xs}1W#x5~~|UBlmU0o??w5TgPAT?Qdxk|tvtuPr= zZww0lnCS;<@ISJq&%9%2y%tld{8z;fs>Dp2a|H?)781WsPVq)cqTCsP|8D@Zy*=(om5sLQk^Bb0DJkYRxH zCJM>gq!UU4&ztVqv7MxLbxJPi3kN!j^?;13?jG$`i?>APj9FvKMR}WO;Yc<047qPF zKr9sWXpvD5%DH>WoC8s>74|mj>;?0c<$$&y8i#s~c}j1dlgtOHml~NDUNuzJxeiyI zyb$yKEA}uFV*Xc2_q^1d&+4Zeee%)&?)oTGSRcZMx|JzAEo~|12o>2BB34dcoxA!k zJw+N0(vsDc@_ENn;+#GU=Re~Zzq?TT&t!?+zYnr-h8nDB0AuH!a-23F{qH^C=I7c8 z-DEl0SNochvN9?2n`Z^Jv+d;@kh1y77*cM%(%2t@#0K`5)9HUr!u#l!hLm2^PiIMU zeYKhtUC)|7b`a67=3*=WDIMqmkF#(EfvP-PC$j2NTH^#UgkB4WYf9z`n6r;R(YW2y zFY0EeCFz=n-gUA_CQJmkXO+>aM}-LGv;xA4?0qIhrG7N3tjkn`t&`n|Te z4_o{z9nrnia4M>?mMI#$!aP*n#O=1vPed-xhxTnuc-c)z{rmrG(T*k{GTkr{Y(BIc5>*{0 z6ER_+=sv(1Wrv1$Q7R*&GQ0mQT#4D{6NjAWPW2s}=Cdhe(vb#L+Cuy$+!E6vgmND* z?^8358Qb~f)0Mwb7G?}vaKqrQ`2+n%i7fBk z+4&suy;hV$(?o!zfU8^$CbHBu~!*9KZ!LM?SagJYn6Vn!Nu!+E4 z_zGTrP_R>lnxw8a)&ymuE1&*=_z9-{HQ50&$(cpkvj;eg+(nb)T@LNy+K+~#o;Oso zpWQF%uvtqZPv4)SImnIDg+^YOhK1PU6yYXEd%{?BOJOVpa#n7gOIp!7C*)KRNX;Y% zH?rqk&7ayS=$T!idsR<0b8$=2*O1^_zNhOtHggYS7q$~uNSEty0~_K4@^qraW7Tuq z9bq&}bH}}XB3k8Hq?)j530KZD7XR#S4nGkW2E0tcu=_W2)L|?`WbDt1q~@sr_AoIb zubH4LD|j8`Vgx3${)G{*1!{p6td02B!B5N09ySR#Jv&R)STA|+GOSA!Jj5r8(+_T1co9kTK=N^rEcC@q~r_u!U#}legie zi}Na$S@9zU;dqnx_E-|$lccd|ylGT3_Ai>BWPM5{!Xhvpjx%usQ>$pjgk1uePftlV z|DMo)BOam!wgS?M#)+E_D&TLPc8EhZwn&z`T)|u~j>)B>pp)@FlvPPGw>{^j(AWX` z+2h!83Hw5gAE9ngri2Ian-rCXPoG#Fxmxb^ar39@KVgEwAq5_(_|UythQ_(Ce1D$X z65YaAo$Uh6kCzx9G3IF5k(p&C_=uWmXnQ{Eh(a6sA)tL&a{9_>bXyki5(}6jUuuv> z4YVOG&toc`W_bJ}@+VXC5b_n~-&%IPQ|^cWe1a{Bfi~zcI>$^=B6Z{#t{4FkHL>;I z=VU}xE7^0s#T>-F=3dG1P6V;LEg~-84iV5*c)icgh5(~yBq?6hEVfHicYBY#)8}Vf z%Jq#oL7Z**s7xU~bi8$+C#k$v6gY6;>^b=E5fh-AnlZ}%2LVg?nYph zeb|@Wx-oc}=Jg3=tAcEE7&r4DG68v+17LhjWrox`=t$U7en(;yEORzV6igQQ3I_b> z+jC|3CWqPfefo)Kb*RzI8Gz@vZBB*4Lu4XC{l*-g-jSdMWiao~S)~Y_FKs^N&e}i& zCyAEQF{*m(nQUEW(kqO5d(BVEYbuz?IpW>tPeY2BjIuV5ugm!$f64ATDI&XfH>7x< zhvTvosjI8cAihNCf04gP5Q62LVdZS?MCcg(Hkwr)DG(TyEB|!r)9KFHdY2#==XL4=3Aj z*u0A?pupE3MHbJrUsWXZXn!L$0mi=p1koSUr@ujhRCrYdU zT!{R(f7HktksI6QPD3;ua-nRUB+OEQe=vMZH&^z zdiub}9MwE`afWME%9vlg1x~SMn1Gxi)VAjHU70s8ykV}Iic)AL=7-S!!TMo3c_L6K z;R8PRCrn#Zq6Ynso5y8X{V}9}@M~j4+{YLb+k_jpH1&vJWJ9gx+4T&V3lIv15TYRxL2=u~TyzDd&hZ^jMvQy8spq88G1JW~_E$w>6xORF z@_RZD2$3EK{Y;qYGXJR(bY|Z0r9pGg9*_%6vS~8&ri$~N-$qm78S)=QxByq{55g9Z zQwq$|O$ID-Z8u4T!>7BP5NSA9A zQDthT-_e2-TOqR@ov*OKt~I$vvBU)&&3##q{sS=>u-8pLV|u}T4MgvpYXq_iC#(us zc)~N*nR9bLH;xxN+zLQzK5w0@3p7E;nHbgGO{SLyx*cqrkFR_ne`TJaA5NQ6-v*(E zw5Yy>T4(!B^Evp6AYM+$-243qL8Y1{)Z=W4h)l#Z1lWyWa;gsn80CmzR~ubG>;+Pt zo>7PzH6jX*z5HW1FZ!o7lxe>QcEPL2Y%_pErn4aQ#kJ2M3grJAv%mz^6`2Dv zO5%`L65uoCAB2|4dTeWnfvTj~B{V3@{H*DXTgsp=`FD`Qz4bmnKt5rOxW;MZvvT|b zg>_gNF6_#{oWHot!^J0ch43?)&}qr#WPm7)<&e5d!LDEcc$XG9@fPu|W1HyUPxvp) zY(w$k$xhQj3K|7tL)}(r=oLJon2TwCl%Ie>OiX>T3>p_IpEhy_&gqnmA3gU0y?#i( zS#5&~h9205upCTZ*kXuRHi-j$I7~$|sLy;snMOfEYD+zKMQJv9c~#@T8K8d`o$?uJ zvV%yg8D~A62q|Bowdw->KO@rJSmyiz#!it&Q;f`GJ#d9xC>h67 zQwCWqruq5wk}VjDI;}zxRSJ^9kwLA|1%^onDHkzRe^8!PZ~LovmOiMKLSBShRpmxNcx0mKAC9tg6@XA!lscyC~&_()v7fbUvL9Rk)VKdzJh_X z1c8S_fJp(!@Q%nk01D*+^dLb#O;#uFl!1b3GogWV7hu#F`7zRr^m}zyq+w}rS|u#B zjA|iR9YmJwxG@W0|AVKgEMmSfflQRl>1-{qsG&Xw{ythL)0w6rwEHRcKKUdlfa?z> zRxnzxfwer;Uj2zW$O;}%A&@;ypb>jEv%nOnnfMl~bYS}Cp&JyU{(KvVJj=y8Jm~VKZ7{7&esy?_c>J}EUSp&1E8y?S7-D9 zT`E-n_5-_pz9w-b#>b7boBf*xQ`=j;LOgtAWt70i7BI#WcDE(!G7?}rCbf8>z@Kuc z&+9s#DIuT%>;1E#9yCJu2k2cT`J= z>9{`d4H#zXxVZjwwh`JMVAGi{&bR=mymJm%eS5bpJbFJ+CK7#lB7toVVSh#^*@NaU_w3@c%ZK*V$Ljc{zSW}VmmgDu1kuBNC_> z_!1b)i_WE!_F{`}#=mB#!pc6)b48DAEuvPx1k+bWv)MyxTViTSa$wjSJlo2J6r?!! z9f_GmfeJkj8y?5t=#gHKgDrh<0qN@mhnkm?Kx{QBv7WdBQs5YBkj6Hhl0aH~v=Zl4x zm7Ph)Y=~E@*Gjroi%JYkbkBpUaQe5)*$&Z_$rf>Y~rLD8~H;GQ^Wz)ad z{Ml|tPyYDxWJd#Y?5>t;#{q+?HQ3H6`(Tdw+vd+0&Qv}1%q$#M`w#iNIu?-5tWPp! z^8w9C58*3q1l5$k<#i-Py1~!i6r=o|?JsYA2^UJb@|t#uq^9k!wtpSyQg?DF2PDds z3gOvD!p$gM*k}e&`?+aE>Bz-M88{v%uL5f2-c!l2nO4tScbCrf&cqi!wPUxBdyk;h zW;x^1TUzCB1bZ?sA8-7(6A2f}zROP!K_fap*93%qa+JA_QAhZggG&+3H6{5~HaJGL z940{#aZHO^{#;AXQFLo(w|ri7RFLB2*cC3%s9WD-#nR>f3O-o8#&4QyCqLiUip{sX z#=lT^HG5A~FNv(>yRms1?ypb6bYwBp+;A5{%ha~iU68vTeRBKkI=h|!Y?x@FtQ8HP z{~feko%(~xuv1F3gO*X|!5v(Mo|CJpv+(YqwTNvpOrk;E?qskbkn!EN^hKeubc7`W zFxJXVd8@3gUL^Eslx{$Cy|>qz=EgM%meF7;an4Zpsu^kDsPN%(uy&TFH6WwevP;tP zj3?W+$w+nN)5>6d8$aF0_Ud-?IoP)6;8QrZxQ>|h?a>~*8B^E1FH`1)W;~A6&f#1$ zxfI}K_O`Yz5P5%DR4Lu5uF+0c7{u-VdnZCyNNrEbH0@#nTF!+!X62=_yMwL0h1JAD zT_#E0)Ztw&xYn~1;|o57ptkku95xru`?OKZYIRCbZoO*3qJ`S*P5gi%rUueY*o(#S zef)QHlauL+La^kaR;!&H^5#Rd8D24r3(ceyATfu#ej1S&kwH$#FK+xo9bRj;x)QzM z>5a}k@)Tn1m|DLR7I1m;$mi4LRInznkYlcBqQGDNd$j#Ubnu-5?U=2E437g9p3_KyU+3ISbEWrHDUi3@%oSIn~elLfm_b9GZ`$YkymjR zKU#CO3}5Zzayq0*N(lEkG`Q=z$&=jzv!7FC z;p8MbhYfa3iePtgd8JzS$zSJgzXCXXlf0>tW*T-Qx*Ux({8?4>F-05i#z*wMm_$Cg z+v>gMs&ID32ao(e`^IaV^t2PrP`Z1}vYjPD2)v5wI5@VrSWJcf@tVc<`E<+Y*dwPx zFaB+W986<3`)@;qRpLe9vQ)Pw*@{f)O->Zi{_fMBlTs>Sps-FWMEvq2{Ojsauz8Tn zOWX&TPaB@lJ5#vil>zqvetK137Gl@6KKI%SU!Am3mXzYOL2pMO-9ZXQ2rESqfh*Oz z)?Jvb;;C=z>Lis)?_q+}#-jHj+n?97h2RMI zwbE?)hNeaNNy1HY_rf)OQU}Gs!Z8<7%aMLTcvHnYEhP)t-p5O4Ve%gnylH|)S@-2^ zyyfySrXSsLd^Yye@X>WOC1LI0g_E zn3;^1!}hbb`#>8;>%j&q%)56)r)^-b$`gJ;w0+HE{`UaI`M;0(FcC4aGqe9sWcn{a zF|jiK-%}p{&jiK9%*^_KMX3MpRgY?C6XmSU6uKH>aeKP0|F%4CP_$vG@G9=W;BRjJ zGi#dLzwXJ}!`@&JoNnFp{Jpt+E#3WAF!J&o*LJFIf1$T@RDnN<#fUK#u=ocF#li!d z2_%4RYe{5{a-?Rg3Zm%;WanawW@!nHnMVzFbVg(W0}KNM@WTL-$m8-01nrxd zosAWOkFy6n0Dv_#gn7u-)#QPRInU+5r=k6&`LS`=8u$3S`RpZ1^|T-@uR_(XO{ zzn3ELL`XpO5FoUIE&_f*5fwFA4RC(4Vj8eSpa7tbv<+Zoo#`uq6Clwzt~p@1B1m=a z4xp_Jj?Uu4-JmROyj_y3T`xQRiWq&UwJq=?FyJl~mE@!!NV%|P z>Z95X{kcrsJ@a=Ai+%H(4>c*@&mH}pE+nNmP%I!|4}qTw69_PMzdl))k{r9{-M%bs z0pCS?@Ibt(pK(9vJ&-15=lVL(fPOnhyER{#(_C+mAFbCCSy`7HUo)N`{AWEp0VKw` znFR3Q?8E93uA}M}^fBPz=USb3r#b*wUE}wl?f%76E+0qU0Pmh z`Th$T40enbUo1g=i#W(RA#^aNRtWWsjqd47yUvtA@VQ}xBOtHE=i7LYwDtA1pW#vq zc;;5;Hz}YS-!?x4j9HAH>+pUH=L@DWLf$fXCqrVKo((=GW>z z1D1osKSVzc79K=Gzx2e&@9UdxJyy;ZJ;-DqDVwhX#u~+jvS!9DjVo zh|4rh;BqZ~!dz{Qw(pkNgxdw_JJy}hf{CI>I)+^#$DZnyAI z8h)TOoq5D*B0wYu>Yml1y@ul#^!IG!60Df*>Y|9Um#iPfYborV13MnET?k4lUg4b1DDkG%pf^oiYbvk0}Lt~i6hb`FM zsPijvlb;*oe}zEXj@5(qU!)G~0mu1LX5u2)2CDLq7I3vM2hH8MC2Qbe?H?0{j>l)> z#(w2BZCbE;tNu2(kA1oM&e2=l_tB7Oca=fr)-i=_gkIDuj9*8P=$PE6t|DCdf1zSF9<2Yq^v zt3!#(LeD@ddBg3z_gJ-W%;ykf1rMYyZ>OX#4=rk>-R5L=hKr*lr$?XTRaLzCi7@pm z?X9#QK|JtDwue#(e_VR<2#kP5kuZI`{i~JYB3OSi%iCkPvD;!{KD^G51y8e)-C zhvfUgMI4MfO2uAHe*&Ly%*rjut{ExQoaymxL3O#lq=rg`WyRt|V?!)Kg*B{LLuY1f z$ar0q3<$h)+r)1h7)XtU3ZDicY}V)zzHvCiL)FM|=5*U=3ugW*#Pr5redA(j@fb`{ zgIKnEQsb&LHt03i8QB*NViS(LC!CxiRxM46K>mC>xctCv9*JyLLNJ9N=!{pz8KtCu zoR}41(Hl>dL7KW?`meh9?(FD!S7NXEckZwO(=$-o=v+oTL9WN4V{{V|4RQ1WmlK& z>z*slzAc)jSGW;-dj=BolB_|Xw@iJ=m|W5ocR@-7fSCRx+q2JA1kZ3g$csgbM0LB| z#=7z)F5S;ETp1;=so`TLY;eg&XBPz)vKbMP(>oXbW%J-n165Jcft!iYglSao;nSVq zC*n5J0#;SNws$ppw;%A`*w!bE{BsqUg01k!c3u-#qmVUVsbnKmq#{=>z#9U8S+*`J z(g~OMqMf|z)*^9aI5*isyznH8Mtaxpn&S}~Fz+mtlxklth2{2F78|DqTG zZocZER1TdM;?LaR>a$$-^^vqyCIy}(dEoP=)bm}Oe2OqWJJFV!l^g=DU^0|SRw4S>pconYi+hRTiL2g%L_u{ zG*5!K2UXw+9&JD6C%I`}ypc3H#x`Xb4>#!MUURm|F>_{apnjnocb-~GR{|q5GKB>t zO%s=UG?5?W@6#-BwQnEW&Y6@_3F8MIMt)w|2T3a|)st7yl&$D(d26XD1JsOq&Gx52 zjtALSYIda0Nec?$f@;CC&npQ2NwGXzKFZoV-P)p2UMJ-GFMzYPqGsvFsT7uWv!8XcXZN~0pagZcko=c zs)QV`=TD^40@WJ;Lh_BtO1dM`-N%$&`CFvlXh7>7$E1-exglcY5RdQcwVPI0dWO@i z^Pb1x(Jpg)9we*KU>Jlc%HVuJCgthE~r&2Rd2XFzld5 zXHIK8xz2+yKAQf5SvGQVek1ONF;6LGKRp_~w2edFI+)+FcsV#Fi7L5G@pjP&Nu1Zf zuO6N)PU}ikvlZSSAuqBAR=2_bKw&~v?3Aukt;#1He zizR(X+YYTL>qbOCt}WK>Z9_S~3A;$R(VqjSs?AWsX=y-bQVm4C{>%o|A$6xUC1^=N zz#&lXHyq?eJn-%$wG$^uo<9CxXB9SURe!h{I@j?184~ggHz`GKC&|8yB1R>d$=48)XYmz ziO&24BYRhWMk0VS4#e9%6%{v&*Wtr$PH%Ld3KZ%I!M@DD4Z-s9X5 zZj34S#EBi2|8PUR%3b#a)}`1{niz*L&nKSp;8ek4I(hlGo7|J)X=7%((&D*7yjgou zaX)%vNaT=nn0mtT5exmr)WPp2k$nv%#X>Z58Kwq658zRN-MH`~zsiQ(A_^FCU<@ah0k3?xeQ~3|wA+wmZUOFuN*K-z3|P zhI10Gz2J%qmuz2vqoKmmFYhClQ6lB;E6-$G%^eL#e)7fBoo2Q%I(uaxqt`B>OG|~r zw_;|IWKRA4HrU~&z5A#_mPc(PWlr7TFpP3pdBZC>_eOXW^f~~^ZpKNOBqCiqP!qw( zGW!&0q7FxP5@r~CI3SU(SOhS z=IT}Ld6uAG5kv8-tE{>cj)1wdIf`YlH8|r29$n5OmBMyfyi%Mop4&Nix6FvdQx*wu zOFRCY<2?uUnWxI>S+ zi2uddJ@yK>1lodLwr$(CZQHi(^)B1CZQHhO+xFe(CVi4l`a>s`%+yb)nemKKpT>-} zqpTqysnMFMl?lu8YD!HjVjn?LL}oW$TS#9n^iPkGU!3y-SdnVqqkk~>M`W%ZZbOjq zdA*94u#5qfsQ$A?$eC3!HEw&BF;#2dTvIlUC%4f0ZTT}Y48uPVa4c5&D)U;BEWzA+KV5kZFqmdn)+hU67f;kcS_l^fm ze0K<$(uyZse0}jeLqDxBTqH<>-l;l1;*2{!u3(wuV+bVBseCY!yjvS@kcx&nNW9lH zpXOwD{}oXzuTUg%58pFM-2bb64FUCNVNJR&0xNfN=|O>iY%PlI>6mv3Oghm(tR1<-{fJ~N)f>K3EZ0~bl&Fvv zNB5nkPZu~u{rjy@-Nzzyc>)!ePb#|9Os;&&=S$04y%mb|?(sPR4`YhnZY%um#BV7J zs>X$@#*uWrDDY$=p>FfKp9W-|ns_-!i?$6)yu#J(i-UD8*B?vXr*a#6uYg1Rabye3 zrertfHg#5)e0!V)0$G!xrq=X=Fo($0RA^=&M9U2Lh}EitDKYD+$*>2aTfAWjR`rR* zs#yJ?o)i{A(hX`wcy;3P1CCFJr%o8;6oq+ZUYu75aXLm-5?*KO!Y3Su*e`^tdmBcn z;u30YY92W3@Nd~C^2LMo53U!=aO*N6TNxA+_53hJvtfPgh$egw@LCk}^2a)7#b}P6 zAEImW04-KnnZ4(^cWWX+|GB_QY1pklCCmb?1F00{i8Z|^ZH2gABd$QQf2^w83QNE& z3CXaHg@A{;tggpS%*>@+;I==1s0Ien_?nd(1LUZOtAi@On}Wf_q)i3BpjA%lhejsF zX^fvYxFVn@uJJd%NZ=RcoyhqPr|$*(T7OT@7G1fb{|gbzUwOjL@qE=gb4gk1rE)2q^_!TfoykVL zk8wUn1z@6!nu?S>jhot@Bt&0a3m$qu>P{DqFZJHNNH*vRHP)j7c43TOivJPYtON}u zY!P?Yp__W)jk>X-neno=SX8n$JX0)#VbzJkluj=Axlk0VW?z`~Gw&@nzjYlyXD`0} zcMRzI(PrClMvn#>Mt^OCCGD!wk4DagJi`IBXodVk9Sx(?0uNB^6UF|1om+&$*PYWF zTf-WS&*Ooy1M6PFvU#^cC~<=vPay#FaO2#a^K_vf_7^`{*>NG-m4@#!;bwIi1%d5#^;|9% zw)_A^NvM6TeeL=l@YX8}7hw^x)i1*%7hNL~1iWo9`=fk!<6G8L5$YUPHnXQaXu(Gi zhyVsgKxxv-W~SBtM|QUi9^c8*=;T4V*TB)Amzof6B4^`rxho{dw~+7l>p3fx>Rg@! zY3D<$P}zm!P|I|teOi?q;V!dNc~KjAvEvzLx2(UK=_CxMqt_?W-B41WvQNo%B}R*f z$PEt%HVTomis*nuA?Q;9@!EFaUM?HsrTov4dRKV({TzcRxyPZo5G)OAAGch}I}^Xq zw`5br?F-TNnoX<21U`HXS~CLAxxxZ_5c8ukwUW_ z66WS5s0b@1nTI$(>sK_@nx0syi>$UPfni$5R()W^0Zw-ZK%YUY?xSA!noG9@s9q=Z z{ayFE`Jh#!Q@b745v1<{hVio7tmAT`ZFd;`dt1=+azpv60ARz7Mff4;x|6;GRqqS4 zzE;+YV=e)t#_nC=bZ#>)xbv_cl>ba2ub!dFDDEq%^5~+07+k6XnU99z){B9wuM*8v zj#B5`jT1-L*w1`!^1^!)bH>@X2rASyR$+N0cDPIBqvajb7(39fyDe1YCxDJ0SPDLe zj*%HlBzlz8-AokQ1T5h-UiEdZ>1YmhXxGEBHTVytm>C67%;4n*4x>NQZ#Y2@+S574V{Si7kR*${RuBf^WSeJkbm z&ewz$O^lKi4AXp}={TxewDFaWeyvV9+$a4_2_d2Tr88O%se9sactsmgBzjB0KufmQ zdLq3dEoB$!4X4*8YY3TT4ct7f`)iyO_G@Gsb~FXB?4w6_obXp870EvJRP*20E+0)t zW`<###wmT@&J(-iAa+^R4Xd~%ESul;0N<$s=HnIpTmoH2-l+E*+iN^?b)I&v8JXVR zz+_tIJuRbcB)e7n-gdAfkA(}CE& zlLA3mW6;?(^!C5@d_*87>#!267fA2{G(N+iap7vWu z2$I8h^_l&N^}PeHT};&69vs;9FeQ2gpjPmU0`v7ofmT|jkWmyGs&v*e)olJ8UEe6h zJ~)g=F)O9|SKXeGGtfYOPebpd9%cDfOs|QR(IcU~E~m&K)6^@_V>h*22%`j4#G4OM zK8`ycqVJuNKID45S|Kro(oRijLrV54uR_5#5&lHJc2_BugQezyW-7mC31`tF7qvG~ zXYrA2kM5S+LTKtA=%8?((4)xEl$s`qJB!vw+6xK|?#q8_dg;ZG5siprysrIyFNA6D zK7Ss)Jy~tT(y|K(zZ3cC`Q?---RSdEZ^=jv%+XWGfE8vIsww=*GQ*4CNRup5zj?A2 z#gBKn*X2qEJ}<;jZ|>#F&%?3Ewe}Gg05lZu3?IhI765KYA){1Cic~7eGTfjMnJ&wt zudM;XYkwG{oBFV%Vi1Y(Rp`M$Mt5Lb*HrEbjSzhkOCGIRZmP}GYKpu5%&dpr*8OEB zb72)54{wknXE#)Sb;=Z`t+G-vlDYcYE_IE-89#(n$~f$1AxFhUT_(^UBlb_3U8P1{*QOirpWGN|5+eJM6C1PRDcNDXQJdb2=sj-!yzURzT=2}Ck6anQD z05(S*zD{1WOsHe1Blp!VIUa13*(5V!Ww`88L@Hm8L#B2F8{aw)uX>qH`R2$#_iz%? z|BhHZ^Ku#oVbt7d^f;V24Jxx;syeD+eK!ulh!3Lj!qsaKLku5Bgx|V{%@)rMDBw3rySypofcqbVGAF|@qz;9KFnFpNAIZ+^(P0EC>q?~1N50zo*UwZ@rAHD*Y^^!a>l#zA9T}Vz?@8gL*jBhN_ zwo>a@#vgMK^sRu)^OnwS(T;oA8%36}=W$CwM0hbXC&lX7GC1BOdKp^TA_OOQkVrvZz!SV}wc_hr@?>Q7_a?r^}LM-q6^e zd1v1I#ysJ_3rKga5O0nVMGM>9q6 z-0)$W;9Q0{&+SMaQAH58rbeH!H;W!OM{z9;Z2VUtyEboW+nO*VkC*|3M&HX;OgNE1 z^lrFOyAU8eU9% zaNvSy81wlij^rc4z&zi|E7dymZ8OMFXcaN|C+i-RMoGKkTAM0-);z5?>GcWSfLNU? zI5^sIVX!SrG+Z;WhB~m)2hi61ARlqGMXDOZgW0Oh*>8^X2wTsky=o)A zq?IIU5sJ%4MjGuY7Ev1T*iv4fxcQ4B^b+qoHa2-=p?a#l0zXwlFSMyU(=4VYlKp6D zM-W-IhpaFsz2NB~>YPC(e0AjP!Fw z$h)lDqoa&10z`yX3U78QnWdw8HcdRo=k5|C320s&I82+g!%LOs;i7W5mknQJlTV;Y z>O{hZyxi>E>6j!1yk0$0oXs~0`TJRGEb2!o1gKtOCnO+$QuS_r^3ViybiC%%|AXIy ziv+^;8`Tv)J)Fg;V($?Jeg&#CJcC9#_820z*UOG&={1jrZI)`YT-^rmIx+D8afbfL zE^yr(La38phL#CMSA?8&6FasQm<+x*{gwvePYudYg10|IHtsO)qu1!KvCF)UYs8xq zxipIB^}%n2zPJ)|pQSGRQLUy@GFXsj2C42@+CS#2A!ZeD5~s*D!i)AeH$k!g9Jh2^ zeN*1>&nxjji^2t9h{J#%OxA3S)VXAhtS@7ygDXR1=M!aG<7!6&9^h6mr64QhIM3_( zUTFi2o${bulZSL7Z7rVDV&4TPM+chQWCr`|T4(J9)4w#)^QL(%Kxn&YW-T>pk!2dQ(4pvZ2ApDIE@w- zE2H8Qb*Vq^&86B2o#MkOeiyfc5My4L$SaqE)u{2}5@B@rEXep7%7#r~&-f!npeXw} z=YD*58w4i?u$;uicu)0`)ptz2p(nR-bje3|9EFZ|W}zBemOcoJlNn=IwB@y7=!vgb ziugxCseI&n(5R;Ev0n*& z3;LjTsO5TbZ@EDL1x3r;ih){wI8?;$#=At#;YmYTXh&=Na@#=2*R{MYfizLlHxdW< z*sa+DcY5n0zy&QV>0)8N7j#Abl{D6(pPHx^`+>XrJnwH*5!HAoXZW!+#>}k(g}#31 zcopOB+($@N{e(zYi`+ux$%P=qr_(YYOsMV#&l&Sci~*7 zQm7t3C5HGb51E3mqG9aAHpn(}2;_2RPO|f_PvBqCe2X#9i}dS3la|#qD|H@?Oj?N9 z*6P$^digHH3NhK@zohu74M&cEhNpj&xI_2hv@h zbr$Rl`mwBWx~L8?(fN?C4~D2%kyg8TAxOxq1z3(-*AxFZ9S5OQ8Lt~obRh>1vckJP z_+H>CG;EY7gw_ikn@8*6489stf@NG@`)wVkB5|ZsB>Q<8;bBr_o1i}}F0ySjj=E%d z7~u@iNvCcS3H7`IRq1jS%eutHQsjS1+qTCYuW#k1_CCH~$MN&Kgjx`uZgO*%P2v8C zq!jFh6dPx|XpDnNLm5vnf_5hpQ8+prc9${!I(Q=brEBPO8zV$_}3 zYY7YWkA=+U4MZKx=yN%pSH(M9MNjr*Fw1v3knoeTOwOkT!(}eaSH7h4KKa{sunRg~ zr9_%eLCswQ$olt%L`pM{N@xcoD;?At&fzaGO_{oVcpCo)==gx^@eN2Kls}$5=JVe10!|HPUH|)7yg0grBQ^Et{S!?6$xa&@p6AXpr7}-6 z!1zN?iMTqT9zZIdKgIz&rB*WvE$pob$y$o|Ok8A8P)$R+MTQX>H*$;95?O@YD$P(c zAdv~!m)V`_xxib@KNKNbNif)~WYo$)<;XR^49f6R$%JszcxIw7XKbT^BB!$$llA05 z;?4V9W#8S(l2_F_Z&mMz++u*%;JySAy6E|xeDt9J6v}hps?;$p(a-3Rmti7u{pJ|2Tv#?qpZXi@9 zH}&dO?*|UqKW|xC1qBTiiDH+hWrCQ=$Rl_56ys(4b67EK?fWSjhlt3A<*6WQa}0)B zBR+M*G_>3Ns9?6TzBjoyNUNDGe|#0(HN7aQ^yGy6V<*i)rSu02LQW!W^dA$D4<=`T zndZ8WXIPD`l0TCajmR`7G`2w6am}_Xj|!KDxew@H1Hna<`r4)TnaStmt0&PVD)d$q zQg_@@e&oLztS>k1gN1Z4$b1cm+t>b14p#j74yWEIzfepc$L!O z-!MCYx;pr5a{#T6LAnkQpbpfFG#T<{A@LSZL1gU!kDawC#wz5>MBNAgk`+sf zU|(whb71=WvFjO+J=^00bn*H^(XA9Z&}~DU(K59XWMI5wFl5jil?DN|WtRi} z1;9ltr9P5HA=+(XhoYv}6SwMc=+_U(^p()AjQ)@Ar>pb$-AjD$^oRD9&3*F44*2)H zj3O3x*LYWGCmqv2v3U2QMeWbku6)8CHz`k~{uMd`51VaMtF#QEeQ-WS{V^SHvk8U! z%!T}!C$|G>Z_V9`&Im|A*fc9a%>I2nQpRrRFT26le1Y1_{Di$=8UKXZhLuhtlFv!$ zk`?kUA2IZ1fsr^AO>6ZL4Ma%GyX#b2M`M|X*=^ZSO0T-9=5Y#bYJ^$Avhe)lt*Jtb z@lRKTggV1Aps&IssxdDR{HV3++U@D1UlXe$mh+p8J+uU`U#7Zk$4xzWzOD1hUZ9CR z`ox<$PO3C4Zxixb@~N*LM_EX4&&`D9i^ZGpGQ83$=eKY8&?}M(oULr4B28%gRbC0g zKa1!qJLng->V;I|h*C-qnWL1JMPTA*4FmI#Poap16kusLR7klTcNT9v-R!N?O^4VO z7MMO;GeO>W%oU>w%f7Fgm`i}NI;pW=*Fb6Ta^Sp3M4f%?uHOsx40rfcL88RIKx=`# z2vPD`x^ytlk$FdmR%qm9A}lA~r!RKjqoOvY7&<~|VWgZ(k0ci~gHynrdvK%HCCU8` z7Z}(K(zrY(@Yt2AZ<5}yq;g$hI}u7RLXUzhI@0lhM)AMFKwI9r{966yfzcD3mge1j zaW*~S1{+5im=!&4an!#O9bsI7+#(Z`vJ9RgseJ6mvWYEy)f`HI;US3w#TGGA`vtU3 z4*TC2GzSZLfF!AP{AS};mhsO;J?<7oTTq8f@jUZ@{j1fqqw@+Wp)P&ky{O6uJ(>63G_|qHS&O;(BAp`3bYz%9nVk zDNOLCP;ia-Qf}$%x@sqMv_Caa%0jfg&)M*UGDU7gX{Z^8h0&{ftgw==0e^5CutY`dj#V2 zO-$&viI}vf7%vmPfb$V5$@b3cvL=EiVcVV65scXkD~OK;Qd+VH+%13!b&qs(5(#fi z58-OVCrn)~3`#pX`Zy!yn^A49`pO;6SuUd2%+9Hx|G`@^A}0TroBGjm6H3FlEJM0W zyz{zh;^lGL_{tZT#jwB!E-5jQAjc$H+K9%Gz_ceWyK4a;d7IwF2L<6^_dWX??m1L` z_SRKzRnJ7SctTG|$4x)IgHmrac{ylV3bj6zs}sjX@Ws?gLM+fW-2;23y>c(8gC4c% zJ?8}(nPdITwZYq|F%O_-$UF(c)quxAZ!PPO*KCBF)atYhF(O0I_BL?-GshBic4A@p zqTMEXzp2u}xYgq6G!F&d7D*VcsZ z=SaavDEGe#Daqx8DSgLI*9f34_mbTQ=QkB67{52d!QtSZ1s!ev(gG-ns>af_(zX4z z0oQdWwQId&{k~!8)yLi{^Gz>sW4Ev0)|cDV$I9l&zLo$jO)&Ovc5|1An)~($sPT(v z@Vlbp0I;E$;n*8;VztNu1x6`RSREUk>_JNiTkcm`eGM%qmR0Muq(Vq}{u=LnBOI0Z^_wNoU#Zs6G3q0vXb-(XDvX9g z|DCz4-O%pIG_d95Wv%SVOb)i0!p34GdV%ZH*+>CH7#+Ox@fXQ+Qb0DX<^e8IxVrk} z7aqzorOU=KV~9@8nibk|KUqAgD~``lYn@EP7_A0q6*K&7>9;uP%S6cb%I6z{Mj!c&M`asTV+wLAR!ToB?Fs9b88(0n<{#Ze+E!XVd0Fr$Vd!KVH8%^^Yn$eD(vHoXVINHYU*xcaY^!XKIe-LbcYGH8o z?G85U_Kwynwn{hphjOoOZ}nCec#V7W>$U#f@&lUG=IrFgIj%>BGSpg>6-x-VZZ^qWl5L)zYu2y0_bMt_C{!iQf+UO6TO&xj6A2$3uFQ?#L zJ2;>rr=|tGx8c8um7MCFr@iF&<3D$rrQf%N?>&JBf9Qcf+UMWCgfD&0Pkp?Hzbo(G zy7@x7)zwBYHh=W}J$A6ay9CDikw0(q`;v!0PL@@$*uOpuU~FjXxIg7({}(mp5BH8g za0W>8pgv>7de$##SYFznz7#aMLbO}5(MPmdvD5cbuvLHaSNfjFnuds?mXMkWeY-za zH6JW6ug^atWwthk#>Ss8kW~LH8Jn0tYjFRIPxT)cs?5d6!$6h4EZ{GC@sGZ!{pxGO zzqZ!Dg_!7^hd-3x07R5#=drg!Lj%*XGD8#d_pjeywBdpA>!&`+4|;;ozhqOGY+Tyy zhnC-0*}40=+y6)bKWWY%5V4W9iTU^3B?Tw;I@aG#>tDtDn9cFw`Fq;2KkmOi-M_H! zx*m2$M|Q?QE$vq3L#S4n842fF(K*aql-0{SQvf`;26{^cy6LyN)~g3;*u9hT`M+w& z0^977V^6@_KmUyz}UTLY)ycF%%)a;KR$aYDb=uqW0}W&E(shL73+~?64W3~?ZzoSxI+8aE)nd}i4^Jar z8mO+JQwl&6{GFKn&9a`4ve`E3SZ%O5LX!L>_3f#CT>c zB5)GH@4`%WQt@hPZ&eUe1=d0Neln7N#VQVYA>u*}VIOX(|0z*Q>}qW2=%1R*MA5g4 z4rLaMidof^E8pxuRZqJOBuD2;tp1SDWy5@*VVgDkDyj3ObSFEmE4)ciw}-43Xpu}X z_LK8+F?(GxPguE*d->GD%}~J5E`6?bOCVzBa}2HU@?XqV$T}3j6R7g%7elqpY_ok) zC?S0TOW3QgMVGv9XH%&Z2GMPo)ET7hlGT|AxWsf2*?xtxe9d60*H6bJdprpVS1A@* z;k2M22$-Bu?$U*jNmetx;i$WtR^6Ci$b>+0BU>W1SkO`0SLRYN8W%#n5b{5K5?#<7 zP@!RiWc{00>OpwpB3BJISAQe$MhPwR@gxHT@ccH56?X+OdWAcGb# z7KQ2AzxD<7V<0%v*>Kg5U(KvK1L4fvu4F$LvNqEuBj?q2hh{nLu>g$wYKLXs<&&n8 z*p&_u0tWfa>lx|gLDb%*QlRN))XceNzCgGEuU;iSII92pY0O?xm=WDzgCcAXdEQmg zm9%x!YIeff0;GfMVm1ally&X19S>1$YRa;W_|2z1pfA;`7<{Uz`WKoMlD12uDr;OU z^*Oix@75uZ$pFT)1t$N(9{5JXUML7jzl_{X>&1!%prG((4vDedsPbJ`>HV>cNnZS9 zb1xYqcL^mWl{+MZ&y7YIH9|F-3dW{d=c6s_M*sWH@y^Z&9aEM=`5%f#kDN?740hHT z-^=1fzko4f>iTk1dY@WRx|y|RxkfdzvhNzq`n`EM++}naG_*zmeuFcD{iDp4S%2!N z*!sf=kDRq!yf)myj$ST3Ms4i7Tk4D=>XdEESsfx!@t1hIFk_SJj)YQ2AJ)SSz;0Ys z-5v;kMl9>(91sFJgEig+NCSsk^Gr4`8`@br413W0V3D2Djl5nHlai=AexWEWn(L79VU#sqc@9$Pu%pZ{2 z_E@WBoL+&eGzuN*hzP3k)`i@+{H#&Z8%9v{qi!p$6O>#PWLXe_G6(eWu*l)>e*}1u zdn`JlD>z=7TQr4BJ9j7?B023Sh%vVn8N(%cJC@9mGg#cK&JjWQ-;e(`j8;p;mTM_v z3DqN03qbn(Poha@V&Hx7_bpk}xKC@{hxdZ#DT>|*F{aWK>-Xl7yKh9GhxE6+&t)QkV)LgnlM1)OiX7SeQ#GNRW3?YfDK-;QMXzosJUt6VkCOL50!&Zo2o_};|KL4&#uL$AK zLO7AJ*HPOvXRLKhdpD#?XL=P2%JbJ2y!}=8=|Gxi(WW#8gjK)APA{ME^7m^lcsN zDN-2`)2R7$;)@dgknKGbH(ma_P?RzFZk@-E=?Q)#IxPf$24hkhuh>o3A#=oI=pJhM zID@unO5(k8UeMmQ(h|-c)W`ot!)z*P`WJ|&FcD5!M=VZKqqYx!!&>Pa%BEYT95)eg z2#_TL)?#Kt0l(%jOU z+anlGQ*o1p)M{%QofWKVI;I=?8$5ReAyU*jYY(C4$+ZqLbrg#HKs`#PcfMZ*#YGlZ z4)w3O{!STv_Br7}Yvi(C`*KbgbZESD$E^?7d!t<_9v*^pGPoSj>&u-6NcY z7b@?g)T;25P{%#~71THFeDKZbDWJkZufm13n`t8RuF`i9*DS`cfGof?nf}HjlS;xR zuYolm=!X9Atyd(2f;e;)*UAfGcz(oX%DJ5)_PjjzV(co6S<*F?$`!tt7(yW3OS3&9 zdfxY?@!oqDM=O7=f~?&$oNbXwR8_KaEmZ9j`YMF*?ufHsbN62c-;`f-A!1 zAk@o57}S!&(4)u-l;mPk`_=v>`@_s4)vjkeZI()_`$9&n`&-&PnCdQsrZ9A#JYCYB zt|Ejwo_YiSp@84VHkLPZd$RBS`yu1SG+`WQy$YBrUpb4wc_o_A`z)AwHciq7_}GhF za#mmt*)smG&>2mnJzfzhNdP5d*R!v0Jm5Ou>SGQ+fCF@Ys;NUyP(vK?FAB^=sw69# ztbEjKlS{;;3Q_4`L<^x(0@CT1PrW5HF5W1Gf25e|Qjl&>Z71WuKe3rENoalzpZx>zsT~&J9NU;Z2^H zT({}vvzUw}$kd!T$Y2I8Snel;>~<}?<7A?VV$W-5CSM{S zx;gS$O&!04(opN=gVHm&7fLX*X~c0Q$=I`nct_SaG=pUw`VP4D%!x#|5(Qu5h?yl?Fs}_Q zUBg3sO6wq$m3UgCH1@L2pC=Jaq)Ts1u4oOc+iu)X6LMRh(SjldDT)Ge9!+S2j4LBb z!ua5BXwiFF#=At3FVFZKZ;rP6sH#4FnZ_qWk0Jm!U!PgyISpj_;`L-j&nYYG7K-~~ znyHw5_mI*yjvW{ieg&@G93!($D zE^)XR77fn2?x`-{3^1rYKcg`)zct-`39dNS|HaX;B@K&1qwjydt2~dhCI|8r_gE%3 zoH!K^KSZ-86=^BNTI6AXvov(6qc~HvYWg$tOGR#CH8!Qx<9F7LbgpwKC4e89I!r|G zLH9!A8VU1f1?_((k^A$*|MZ@qdI2?BZGQ!N%K|v4DB-@K?UAStGoxQNB@l~RqAW(;*#+u?G=OGkqR?fb( zljj_#N*Zm3u%SZ+jZs@qfk4kc-QegthB5z0ORPPy0x zl~Douk%~OMe`Uw%k@{ux-Y*kQXcCY{IRF~U#1vpO(FUcaKAZyG_fSd0uHLj zBju{W$d@sY3I+hQW+fI?_$yU&_d*@NQ3+(UPI<@-lV-n;7Z=!H~<;; zL53%TIxTV0=PjcabM{g#(a)>p6eO(*FdappyT!8}ls!IM8S~0u2+Tgo-92vnLU!q- zD&n&sg!bdepo87>OtLiI1)vNP(8-bqe7jw<0Se=g$!Y945PF@EvZCBNSQjpdCQMW0 zQ5x2ggw*B!vfsk)_J`fk4bh;uw5aa|R6rCZ%)S2kGfo7!?({E~^y)-Em7f9Nl zp$#27o7qJ8QC3{$%uDYPjWS6}pyz%>oz!W9VyQZb@li%Xd3mozGaE*CC{|z%<7V&( zQx;H9At8_RC!1E)tb=zK{!(1EdmXhu(x4RYn&FwBbQsXQ4hym!kfF}mWjNuD#fHnk zR|#79Zy)yKx+IDAAbbM*od8Lne&ArWU2P0>Ux5h?dPKeO0>0kg+OG#dAAFobhz{>i z3O5YPiuX;f7c3~Ptmr3aDi6Ff<#ESyc)^l_(c!m~5h{x0GhzQR%8F>s+aiWx*m}=_ z73%5udJ9k+15UhWY!U!s;m{0WLH>y-)nlz-$&z2FYI!Uao>a|FjY%pu{Q14S_~64TlRUx&aWHk)EwbdEB&$0BGKXv+su z=Ggmmp!SZb^5sV1udqJhSKya`IcH1BRuzfX z0Ln2Ey7lDIAo&Z87R{XIBb%Tt;*9zoI1gQzwpP{Lt@d!1no2D5DxJbLHz6jaeF%h(1-AQl|zuihd#}c-l3*<1q&1M!+kE$#P zjRr&3D>#%Wqx%UY(nHSUa~Q;+2}daiiAj4cYyrwtV2LD?lmBqC-Y@mZ-6WD({e<- zZd+`Ls=i}<x4|Us}@0>uXbCqsR8$AuloQih??24(lo2;4{MIx{o>3yWt5Rx+Cr1 zAt4MNVj|cONMsY>C}IMFP<6xGBPMmYLo1583sCFFQL?U`zmSY!u=i)ZJkiAScwUXd zKjP}?*~}ZeNQ$@o9akjO4#mzP<_eGXH$3ZWD6~^0?GVATpf*b)>%!*OMKH_|E0f`y zJp*$M#)6EE9PTy_U(h{-U%r$k@yRrW6vc`@xsBOY@%=)ugqgkQG=S0iXBJ+bLt9+M zo$3i5!ffSd#wwZ>%+;jJ;6f65oHnkB#rg}emt>z1Fqk?R)8QQE?qMYnx3xOc^o6#< zM^Z51fdnCzTyX)bC5kyjWud(D=LMW0y9nr=3oUNTk7iaBr|OgfYEOa!vN?Z>nnF=r1}{`1@_; znNmiDn?4HxA@M}Az?Q~C)H9gM$o2Kutk;BZ{JB5}t|Vrk$x zxtt>ml1{;1s#7AORCpl^CO|@VFEU!}faYnF^FfB44ZFs-mh)`YTWg}Tv8p&q>QZLh zFp9I|wZt-Vx>HpaoD%)BWU#d89Q14U-|r;YTc0o-n`^UvGLn8Ch?K*JVQ>}F>*Mie zbs|DX_?AKxYJLv( zNr5dh)I>mUH+Xp-d);`s6YC8_@Cu(frx$?pxI>bRM7c?;4;zOJMoj~ zrDU45!;N7=19V)x?0GmVJvNiic*wxwf!B$vPz1qeG{OHWvqleLD*-9x`MtBWT!fwo zlK<&?Te-Rf`N}X;;1;S44*TIY2YshQfHQ&=B+L%$Ab{G~)Q+QcU*p+OJRT|ei1hUW z-*~p`BJlVeB`QuN)AwPFV25T@E~yI7bqu%=gHVigc+21!8A?FQVb5Ir8iX%cE-E6C zT}^Hs5ziBa?|ner2S7>%4srdiYC*Y$nSAyu^SPGAwU(#C_IgD$cwrs-!gqwu#+@vQ ztAhfSLB+riCCny49XJ@?YDsj>fVIVwsj*@=D+22Y<+V-}U+%C8TBlNM7w6B`^*fS3 z=^;Op5Je<{IE12aEt-tUzO*T=!RjsZK* zEl~H?{ZUEq+cQaDUVXiaBGujJo|NylVNi|DicM!-FW66@<2HnIX+(kj$;e`^hF3ux zPwA<}_b{=Ah%9y4@V`*2Rd8hQ-K8WIZ4aFh_{~Wosd9pdAf$~|CLDUr#A5ct+Rx}% zIM!ocpE-MnD{lLK0F}(aMX5lHmq}obMH-PhTOltp%$*|6Il#OFz`u)c{$7ZzqjPEs z9^Eh+O$^N-FMUldV%F95sN(FhcTrqtiBD@lAO-9G&BDw6*d&bq*8F6zLgD8To7xa7 zN_B%;Mpxfj#4BnTS&N@L?s$6&33E~@UJ~_N{F>g1`--h7y$Q}M?;u!b0&i_pY0dv7 z@AiP-A~X6l%U_WdMCx7|P*Fh^8E`A@yX9wcwbh@5g65R#&dD+BxO|rMg#)`SS(Oj= zu<$-hB?o7k`dJj|S)O5=+*6lR*xqxlJ7+Kh@(X-hs$!<24kC9^uOtd3$IAaXx7MUD zl-Jq`d47FVIW7291nZLnTU8;pb!)djXf)+{LWitaE|(x+a_vuNA?@e|V{i?`ueaK2 zUyJ%M26U9!lnd8SkU>KcC&e;&mC_utbp#TKWbKFc_<0fpPTN|XU5$vMs~oC;6>=q|-X6?N ziWur65G9akMC3KY1g7V+T>c-%&Y@QrE?Bci@3C#$wr$(CZQHhO+qP}nHu_5^o!r44 z^!^Do*hy7AwU%dVHa$vFmO%8WtD7k~^vY%8Va!ZfS5MNV?sT26@lo31^=gQ`M}OcX zz&{BrA$z+iQW=H-*UPeGx(L-t2+++zjO84OoW7m3V>2uP4YnH>V# z#c&s!#I!C@LUx&024rovoBgt_bgpOoQ`PM@KH912TBR2hw=j?GFl$2d!1u1o0#&JG zG!e(Jl>JIyHz%nU4=B!Wn$9}8xD;}&dsYLWpDqobEBvk^In)}#*!P8x7dK^{w5JMA za6y!u5z(M%1XCkD?kE31Q(npI@(FVaih9xfmZrclDUC3lPXjoi4Z#4a-H#-;vlnsp zDb-qVUwNy{L1vwoJTh^#d5&O&#z4iXPA!p`(vKN?NA*~QZ?dTpA-2%t6< zJ}+y5Aw0V`YHo#!$GqXwO1G%mtk28W7_q{)*q@~K~*oG{{x zDXI=65N2CKjW-Z#z-|9epLkFIMPQoFM^9cnWp_C6vRuc!f8rkn#!Urr9Q6z^5# z?rY~7w98hym=a%)2ovdhB)#XS9*rPON{)GqdquDT+VD5eGZ#5J0CBj}`D%48coxfVwXHb}|#~z;=unUg5H=TWjoYGxZ2N z`VLw21S!QdORcCROV*`Po{cwg{U=9#8RI_1?Fkf~_L9k6Hn>kWEnYt48Kg5K*Ttzm);aPJ!e($ZOY=R!Kf)>VZ8O40+~XmMS2dx)8k_MRh?4NEkkmrL@lrI}&%|2`}( zi0jmx7II)zV`{T2SCW_OK@y$9K%%FkmNz;d2pz391URIU(T0^e?g@3L>~gj2|C3DN?G)N}r%JqVt1P<%$8`C$@)1jt zq8;cu#GbQ(7d^D0og@My%dc2w?e9;f{sbe+aLy)jZd zAI*9_?ycwkN?4f4q&Hr2jfnP8s5T$FP|7tt){i$k2kaTmlv5 zmCbTe8ez6>sFdu=DMzdjQFLYfcq?A0tc*AzIMvBU7?-Q`rLK&wyql4|+__-%Z`XGw zu~WgcUNApQvG;;G`f44$q84j)w#wacr*=2Sem`Du>Mgd0i0fAPB1R&h0WQ@m(Oy#D z^axz16Y_z3-4ahMC1#~kO|{ENX!C;e#KN@&jv)CfOY%p}S}Lnos18L>HvOKdDirXW z1@r#qD{ArZK{hug;dz+~)O{^Ne@7IHQC0Vn%7BaJpJ%kO7jhkRl!Td~TW_@vyj2Y# z*fO?yP%4jXkZupqoWI-N8N_{vE+pS#*^rqq*Yd43^<&09wY^AoP#z=(*otnj)_I+e z$qnGtC|-)y&y~INf1dkct_rWM;=8ket1PbdM6RngZJbg_E~h7!y~3yMvsn&Y=P$0b>yuyZl>-WRuv| zPzPQE)?@j?)x8QJ*Gknn;XRVEoA3{{mUD3b3EGBgpp=O%$)2~PKXaxC<*-j!0404)FDgwe@hUpCj!hM0E7+^AzHsY1LHnO&aZw{aPSjQ${1TJO_N23(Vb)w zmEUwy;H7h6A_=@;O)s7^$XDvB{nrJmWk^5&i^D_wF&kCmsYHer_?k(y_Xd zl^!^g&2*WsBUtOINd7ZLEpJ9QdxVaNypoA~)F;|?s-#SFx{K}Xm%B9j>#J{jlZ+^r z(5~rxQr?B~LcZo*^aO5sdK^>=Jbe>~JP;f#oRjWylR+Sj3hn@UD%FzEH6*T)kCNFu z3u8h9*9J6M=j+sw2w?q-@@T3b)C~7jMx%KLX#4`7l_1!nx>ADp9^TY=oGPs9%ZBXrvCRWMV$O0YWs>5>O?C_wUan~<&d+}|-c zc_3TZwa}e-R+w#K5sfb3+D2 zsz`Ml)0i}&g?6M+IC$iWkx61otn%lkM@&3I=;g-D4%nOQ!u}JZW7`+Q9{z4N4;>yF zj@N675tbu@>4=rtd$JA0i5^rw2=>Tq(7(e-QeU;&l}pbgERPAjn>jttO90Xpi0I}^ zyQKrEpkZM&S*Hqld<(oa{o)0>JOWRYKdf%AH=`V7nJ?E>QI9Pl?WN3(7H-y+(p?*a zX-w#R@ii<`^!4@i3a{`w?17m9>cWqV2jAcxfapH^ zsX!PfU3vX`B*`t#Dzp0|(^ZmB(%ybdx!*O*0zTZJIczZW_N{9>h^iF3Bvc8UB_R1& zX*L9GBkY>?SpXE^wrK7Wfkg#c|LkF1>`A|~WTEnW#RcrR9y5Y^`*Xj1cBN#oB*Mes z)%8oNHLFe`Jw&P9dz&G;dfVycpOHTYqX+TxAud5%7I;MysGK06`96XjfeNQ55@z}n z{jox?ffzE-*Jv1ea`IUio`ex2V06 zZ&$Whuxi3-kyOs}+{n=V**o6QJ<-%Ha*M@XUr2+C#<`wb-Sz-pJ;r{p-ni#HS{2Uc zTCwWARM5mOMZzaepd%BJP*839QmpA8=^C+#p&nsPO0#CHu?`fmapzf|D4iC7D)SWr z7Y7Hu)Q2i8^}Lvvnn{cB_}qraF8FW>*U_@Ol-%#}?eh9=U-l}&{ww{86y&lk7H*ZS z8Jk`*A9CGgOxDTaC614Nb{AmLBvqp^IE46BUecW;wgGeYvD#QYM#T4M1&dg|iJ~pE zMp#7K<6Rony#$TIu#*~bWgE$|U>S2fkRl4^1XJ;0Qbck9+Sg)cxE}w&rb+UWhG;Ki zYjc>W=>v_LzP_8PZpH{Y)GETCv(Hq;u-~YlpO{G!yf|Ql>3R zAX33%(^{i(hz_0`a)OyeGiW1EH!kQ2-5UAwczma~Wh>EGg4`w&rqDLPAO<{0p_+*5yh$eau>b$0twH(Y2ax4r)O;$5~z@in%Xa?$@^mcBcmO>V;djClxNcl zoOtcGFWE7klA%mBQJRYoZO-fit#83Tjg-pmS_TWM?<3>i!P9LJS(|0GUu)gqin zcYz&JO~qxCAuTuG9)!X1YB%V&gqO*JpCj%;XCkuZ0P_zOH}JEKBuDqzRtO;U01x?h z5kkJmk*M6Y*+&Vh{(-51%jmlJLBU=cft5Y#Xhiru5IA+n&C^@~i^wC3x_9r_9bS2L z1er^_aOBY;$tdY>WfgS6J7NGcZdgr?_B#fk$6vof)p246--y;Mf~G9g#xEwJrjPw- zfD=ozs|Ih+irTyl1J*|HM^CBbaSgBXZwnq=bw~&01HeDJmeaD@$Vjqvor>}~WHv5{2)pw^SUV4PKc`b#wZKbD0?OnUAl=Kx17xHyFktz9_#{kFB79UEtJ|Y43vsTGRUn(qXd-xM}B@4O!_Um z;3TnIo}C{PSZam8woGsa`I{9k;!l&xXX%bcS8??;tyNi@`oJHPGn-+ubcnIKy_@ET z!`a=0CM=Bz!=&c-DY(ANX=!VNwy}cOJ1M0wkzQA{xt2A-zc}ul0wCel@X;Plx9+9e zSEY*I93^LNSgJm#Agy)39qE_hUKE=IohpwVPeqx<^0G#9kU}a6!qyi{7l%LP5WBty z_%zE;0KCox{S#p-0M(Oujn|Avxsc@Lu{?nO8yVjxwj!YJ-`VezbRn(rt)wJEGJ$m~ z(e3#D500zWR!gBYT!u!k@)=b7uRM^0->?_S8@DDMYB0Vd65 zfb2{pzMbba1ZHgQOn#63C$)F(oK+btY!H*j^3`_x6}dj`TOwbdE7iwyL@ zbniHPW+W%AmW@;mz+;)Po>@CDheb%i6!7DiQAT-ojdm*LF5CQ9EChLkmz@#*33vb7 zT6f5$;B3&BF5wd{JAk$}Un7)aN68s3NPrJy`NMudC+*K>p`6J(3VDO^ie(6a5YdKD z(cGtSrKV^!>j}|`jatKSG;Of%p%;ytrX#w4+p-gav_6Q|3Yv5R(m0ZraC{1Z;1mjO z>#+es0I4{`ML(DuaD2|#qCF6dLEp;Q=h$`Wa`l|%SrR!(s+v=MY)WF(`I(fwXB%YX z?HAHeWihII`TWp|_xLe;qho#0wz{0;6JJGi_N()d&pRf!&Dw#r4?eeG40z&Ssif_zA_KlFvb(c4F3Xntw`5lB zsi#iUStC`UOdN_Plu!ZoXEb(lGVK<1UgN^SUtv7ZAf8TP1l?h(TD(jtR&8&ahOP1Q zFqx$OC|EXvfxs?%*%v)af9AyhB)S3pm@`mR1~p3rfn}Gijd(-mtkLhA8FCq++z>wo ze2pWP24+I3UR}S+?$yfwwE2+QsWE!H=s<;U-3cU)-~DC%hLIG7!t_c9^tC_tR6^_} zx=;4F-LRp&M|uM{pw6{Zt)oAmHP{BgKj`R5-=WQVz!-8+Z7H2}bWHV5N{(TjF zR`3l0r&f4xY_XdcT;~QOL*=EOzZJtOlj3@dP6Dz#a0civ z%<;>0Bz$q;kF*j{7(qJRQFADLzdGoPAGCDj! z7>il7ztn%w$PP?DKXPh%JK!MMBUOsqa|-5O1+g)~67=oPw8lAab(s}x{)-P2P|x-{ zBwYU9&r_+!#Os^A4xh=0tlos|nv2Kp_jR<^BEvMg(jd`eB=>3vK)5&_EhlVc+}2vj z^ChqOA+DMMI2ac7T`H|&3dr~;&|Ftaw}&yDbuD2Dr?8z6KmO=K8%Th%No1ux#Dct0 z#J9|usuHZ07bU0M7wlTH(@*lUgctQJ05{44IJ`Ivbqrlol;(F0x4t;w;&PU#bf~Z4 zTWl<6m>p+pw|T)VlB5vP0ze$wn2RDz4=)_c;l5}a-ih9$L3S}+R&EFLVRg5n(a~6+^&^&j8HXAwP05%+rEe+K8sv!W#a6ZEhqV{#9bP;3ncLATRiym3uj;P$c zF#c8r>)Z~WHWzdS5Wq!;FNr@vu0&j3N$2x-x6}=G2mBUkvmYJCucYc%ypVLnA<|hp zsR{jywuPZKMiAV7Rs80w>3lb6nsGkU+n4Q4AYdV&2t^nwhtcQmFuaQmF$C5XgPdCC zUI54c9O4H08VkQ}$F$`N8P;sD3W?Cghs0tZNJHsqwhG9iW}?IlpkM`Wk>tA2h z96sm~8yFJC$`b(bKQHKb;*q9kTFNp9pR?Tsrhvmx0bC;r`&^8LKwMtWKmYFbCZ{(E z^{$UCVZIzPKu;`08R`;BGRHw?0`&O~Jj2ITFqrWkNyN1C+|X#$68bruBRMNk=vRvv zC%edw&!?B$l@gibJnPda-e3SLqD3mZH}Y=akEBXVy})8OWBJtbTN+euO{4my z8-{e4fUSK(3jSYFV;$V$_M*mtP%WjdQmsv`WJ1{DUuq0=AeJPj#xPO(UWnl0iOB3` z&-Lr=8L7Ot#}t2q8AEz0O$|nQRmmTf+bpe~t2f#6y0lb%NwiA(pxm&FJ;uq!n&PW1 zUp&2slVa-goUSLsVTS$->b>W?CHj3a&#no5Mlr0LD>!}B!y6zwu(gu%v);dJM7;dL^g7hvJ*SeIA__3XbXMXkrO}a zdc3?N_>+jDKl}!dVu2TTM2+yhlkIZ3*(?F*rCh(l6x;fL}o@;D*ub9N3;P2hbRlFl1>N~X3=zPwuRoZ`_r zd@EaZ?D5zGlb7oN6_Mal5|55GNXW03idQu$Nh8ekJ1DpOD~naGAU-Gr$(k^?AcamS z;9H?k^2%Zd zW2N4-jR2f(UZ7-W%_x3ox zqvw`HP#5sf5|N+Vu76QDLeQ4ps&C^;ZzFxl4@$vBdp6}k>Jwl42(T?OAl9DW~Uv!50abxP6-^=(`pjF*<6wD{Xp1y*kVFR}D6DkV|}b zw&d4377u*Vn)h7)tTyeWSgx4e;$?x76uj zZ&ziE2K(gxhX`TEaLS$P24;9GhZZ?A42oZ>lk9B|K#1n}_j>b%jqmPy_%xBt6u@`$ zFT76m;6zr9QW!Jp<{(Z~`T^O(@zvjjnj_jb-hI#dd3i!BW^6|OM$}?QPQC?G+R04j zS7a6mAfqcXL;vfX^oSP_b5G2&*A(Zx=n+3?8=lOQyQn$Ooe#=FaN{SVBdG@{B^^4< z?XS@5IyPA2oT5wEQzcWw#yB-3^D}%D&f2opdg4?r5QqB)8lY$cEROyyR~FD`LF{O9 z%>;;B)pZj4gw1hT2Z%AW7Zb`~CXSi7vn8Dksrh0*^$!#gWsH=RX(G zhCs$Bi7rUWsV;05$W7_MsmX{uDgr%4+0W-KPAG!ZfM~|sw5&}%;Nwn9Qi}_Fx^?GW zhMw{(<@^>=?#aKS{LH>SVr6F#Mxm=XXj`ZqQ5=UrtgOb<{C$ED=Pu!#OQRe?@31=2wQO1Z(PaaM%EWx$hCNS7Zqs` zbBNrkW1c{OiL{*ty+i5r#brP)i)R*Ir)jDwmbb$g6kdxC_T zPiA+Vb(+^u<}cj52+dUxxZ|?7QB-^|*)S3;O0v491DXxXt zMo&T9F8d-vMZEhE;XHt1u}};q<}GWtUqrWVc1M*zaz{mZQI1UByR3+^fva4@Y16{Y zcrlOLDylt&cE0 zGyea5{~uaGRTuSTn>5nmE(Oc;TU(IgE)tw{z|eFI{c~ka;^MB7Vj=!cAxTUSKne&z zi+J_t|M-Kio^Ee>J9l*-JZHYMK8L(>9ibVzVtHQ_;HEIDfdUBI-`w7a05suEEnQi- z(;85uwF5O^txjOv>mdyp87SHV{2(BpDj%-^ zxy|2!;9j@Z^Fa*g7{IY*jiUXoM(q>v5bhQH%%!8`&0>$k$O z3D9G`?UDQp;F{yggTMp10OR-ThVM004*g9D}$zdF6ZT|L)}Ytw6lftpFd`lil&{*7LRfW&nd6fVwuG44k65hg$@>hueS! z7(V^xqNtS9K=;qRrQsaI{(+qWy8bNTx9%|w{lS?kiE9}*Dz-~5#_ z&h^P1`vndEp$7cXJpTR-|8$A|ogn=A?LF;Pq-^J8H~Y`R0pG910&-Jh;3MDHn*m_@ z??sJ5oPX|l`_ICY-Tlp6-L=IG_?3M1#a9se!`XO1ws^&dYGsRwN6UTF0UVZsJOBkb zuJ~m!IFOa*w~3 zgXyN6yyV>M%>MJ4aJ=H;fzCqd3qRMR<%BZ|puZ0d0{p}H???#r^X!1FpqqOdYJX~m zju3Po75>Q2JqE5K0t)=&4{qQO{y(TeHH2`xU^jrNH@COX9RTzz(3U>k^q@7d5Vj)IBK!(6 z#}84Y=}yjf`A@<9A!pFwcfO>$n7-w3<@*;Jn@R!qixHyR%q~;c{T2*M?970yBiU-K z@x1_U3m=h}8t($5R22EyDV6S&VRtjn5nFHA5++rgw8(oj>zb(Z3w4z3yv3*{hzngK)$zb-Foh&{Sl4X-fJ&;P{1g)TPo4yI#<3{pT8 zK#8swNC>-h+HzOcxAV0;!aI{@j94*L5s1({KIOhMol6WkBh`ubWk2x6EnR+*-LqtD zRyb9+9`LxKNJR4JbVDL+)%3RcrW#9}Rh?{fjqQ3=L+c3#l~Vewxx3 zuEmf+%ek4=JUF+$7T}a_%zvq8S4wCUyc`{8um;#(cC!q%FOngK#(fez0us8lWNCC* zF64RFdi+E2GB)8BM3s-qeClSX-M-ke#f{h6a%2ypEMXtRcf=Eo4MWv6JTDpdRNWLC zXh&N+FP9=#>ANmJb1IvD_$lQ^6T{{wpx`7Kw>yV&T52yVYfc#=K5TkEaw#7Qyc|VG zE#qy%5}DBb9|iCqY^ZP=L*2&)-Sl;9vF}O@J}bkPLgQwt-LBrUT$U-M>Ma2OT^^E4 zGHq>6b+653D;UFd$T5I^`=4LcKbabK|M_=1A zH?tMm=ECw$il@l+^EHF5lM14X@ya*zm56PkYj(wMt|(@Z^$nIbq^Dde-O3kLxlB1a zFxh{9(I!%QLxQdzu>KZR+=*){62usO-z}z-FL})oO*IUuXDWD_sz`8gzoI z(`Tpn)98)eS0cvg2YXOL5)=tcD&vEUp`$_L}e|w3Z10ITzK7153H@l)weksP1jOV)_Lf60T34 zJc0f=9VKCgU-R>W>MiH%rjiF;QGh9OMo#6DOnmg;)MBk)jVLGOq&;?_e%jFG~l`zLmsv`Qpv^P6OTUm5SAAkK4`-7NW2_cOk@{#cWPKxV3hu zad(M$Dlx3iaddvVmNU~`RE29I`JH>oGDU1B4J?i2=4xb+L7)G&;Nq00ChhVZVLTZi zO&dm6mamK=1qUvYMC8FzRjGsqRs=ObN-07QcmO2>hH9%t$MG2xW@-PJs^yBLZHnUf zSpg`Er3QxfXUI3ViuT?1*esWH+o5bkx5bvFF5uMlWM*5|XB#VL?9ym2zOMhead2$3_8FkT*QvO+X(I}37xgW@#D z_q{bv+jNRC3^yo-GV7Ruict@x7tI|?K$bOkdJ4OHibjarZ6*y;xv&4r;ljwU0}obn zN4)4B-drD~MA2At2xo-S#A6m+9WiSUHqMufyY)@H%(U&^H>viV^tL;;(<4(=oVKaLq0;c7pWT`5YZaq>j2-AA*jG z>GP^X)c9eBSLiCUhw*En^*_tdU~~CW!v^jxOtc**R-*~&%h7)UU2elXXwam2c?cv8 z%dgU;x=q_l;Xzkb{i`lWkh_3V;%8KLVU8Ozu6V6vi_n9ZP7ZNvTM_;w_?+@lPbjJQ zMwBn2)69Xj4H@c@@dfo1`6c9}3B)>;5LL};&szj0LW5Dqj$SxKT*})h1^?M)g1oD6 zzS{{gBY%4KquzYor1&0fA`f{+j~u+;JcMQui)NV;$_0)EugaEk4^9zt1pa5s)+5x9oL6wn-)d}Fy$uy@@4GE7{jY~J3#a$2 z_%RlynO|Ga=ds8Bpg*H@j0WP=WktNkNY^Oyc|u*`zz)|izHpfOJxRmr9AK-U zu`~xYrP!Qnw?vy;I$Hr%qqApxjh-srqPxjWelwpk7yf71y;njx@i6!OJdW5^y|yj$ z@^8vrEoawhibMWWT%Jg)2yWDX(SO!De330X8|4Ybl>`Si3!is!miR!s>B`w~rR!B2 z%T~Sc+=+7!nUbg{lI)p>8R`Ioa-F+2*7h`F; zfyX-6D`ue9LfQq=;V>M~-dJy1@y*|H)wPuDxw&=1Tz(Bc4MInZ8D=lC)Cp}imIcMR zM*_khkeLw~{zZbVLGH6~@OOu)F?^w4NB0up^+m$rPC4mofG2QZBRxNxY;lf>P}Ric zT{f-v2BG|2g;-w~_W{x@&X=Wm(brT<8Jw!8MWa@ zaRL*$;f62#?-?l{Pz$`{SeW$JiVbD&AEas{`6h`MY&^T`q;0$5aik^(*47>L)hmaH zDk*esA6%{y9(+N`uugJrtRGh~QgD0&orhcRQKzbf-{Hlb*Di^haMe}iF#!3M_d`=7 zd6S^m*CdNwK$#a$4$PXG0XCcSiMo^=-OF#5xKd^I3rjXi=c2U<^Z|j&p>5J~YPsy< z_6G6&yGi)oW05l7|4wo5;MP_;*waE7ABde(a|-hcy2Lmo4Cd}c9q{AYO3UtWvGoGj zuE@3eX0ES`$S{M~juEd^YG59^np$XZ#8}JqJR!>RZ%O$$N6J!!8SM|m;-jXbC;dky@69RoyS3-QKIIT3-LZflWC7n&K8A6A^R>+zjl7Fg@; z`vsQ}DpFeYjTT^y%v!$PINyiJS4P{H0)YPqF}Zc>v0RPt9lOxNr?y9-ay6-RM~Mi~ z{W<3s>%haK+#+?&^(W(4)Y}U$usC|%{8aGCRQ^!oBo10|yjoOSC~9y(1(9EpMn>ng zdtLaVO}%{{_Aae`7GIs_=xE_Ru&WM6u;9$85!qcw1(xTmG!=99ne0pD~&au2k1~uvDcSE zem6n7n~VHJux!O^jUDE+wp?6l;~dQRHG%enZ$0(3ki4;*W<3Ei)3O9S@>E)8`-7QO zIX7t1aJ@=G3YqFtWPQ*@{M#*-TD;DG5*C?!%UmFKrn4zHO#QG1`xfUas#_RvIME#6lQSTj*Gp2$dqo<#j(*5Rn`oth9qX+T*nAe`>vBg=(Fc)hhV^<;fJWB z?Lvc>&4J%6v%or(g*ZJxKaI&dTsD^LTaFruV>Oqz0vgn?(`iUil>P0BU=T+FABHb$5{@s)>VvXiU_Rc|Ioe4_~CVhR@h{0i#`D}^w%+689G#&XovPldE0!3DW*xy)!| zSe?$eu(~2@uPQa0!d_*-krTdHL-JgfO-#aMBOLEZ`a|LIB+XK>8g|4+1p|-bCwTUi zConk?C>t?i=BG^J^-V7rK8;w_#CbFkO3tBN19h+XgPnTnt87^(QBG4;l$ql;zg)fU$;=@+j%n$x5U%X+c2g$ zm$p=V3d9VAmym_I}gyVN)gK6Qh>k|xK`j05{$~UQ06T686mMnfKV0H zLuiERTER};@oPA0EVc&2Op5wC(=}IPr^iy8#t@&^lj!le#bfwT>IDBK0=)nns5V?- zW>jVerJeY+CHwZ}N<#fepc8+=jn6cEYFd8Zh*0k6s3<}16q$1xX9bXuDzyWc@p#Y0 zwr_VZZH0TN^S<`P9!{Y(C9rx`0Vp+V>D(!k4iW-738K1o2A*!=9!)=i2(T~rzSVGf zgtR{W$gF$C^Nlru;YQ}~%0d&aM#4 zqKmgW{o%qHLZl_R(X{Z37C53n0n_Is@FA-;1<&Lh-W!^aA?}iPP}TA9&04u^&-DG!4iBcY3rsKkeRe3Q!=MR1w=boAaX~GZTnAwp|o_ex8QLjX~ zYV3nFvK8uhSiRusAb7!FWQr}d>eOO7)HG95*Q3Z*4{UyGRAMpm^ z3wF-o!QUz7pUeOajLep!ADYy8QT?XQY2#dMES6N|LiC8&keUF6L4m^V${hwwdXcq; z;|j>~OcfE8hzO_i4?8KNEQqfs*{ahyPi=1AkjLoYQ!j1fap8%x8NqkGm7A-rn~#ADq(MJcpTW9>#Q+r1Td?E|k^V-~Ze)JKN! zG7*J2YRz`~m4jP0Gx!)wqX0@kRWOewGd}5Vo6cOF9Ma<9;P>VBp3Wj#uM=o7y6-6p zTP3tRh*Rav%RG}pFF9LF&9^HkwY8fKF{!hmjPn6*_97enN^33+{*}{U((Q8>A2*u5K4p0shFGbLUM>#> z6UpRk8GxmJMm0XGcbPa(AJ6&vMp)q=as+2Bo|kh=zp7+$-vRmqdb3bgl^*#{(akp@ zK9!;3VQ_qQ6Gx!D%s0kqmsS z1~?>5kOcw}!=jV@wgUx97mf^%q7)*KzIIDe2&+dZdTcXPnkRGlzKf?#?lZk*K87{s zkWF80C+b)9bs{72*cV6K{r}w8lsbk(35lMLiWf@t^*BcK7FSO$XpQ$(@^aILrg{Q6 zc{}kG+ZNKix8*i1a3^7{=PD<{0UJ}SV5qr19-bIwkbgfXhK`irKWF{tqM8Nj`;#NZ z5X06D->dk4qkN}Hb)`NBHn>MoNF&lygOr`M&9a$wAx+P}YsdpdFauf=>|t!h|EcXH z<|N3BybhK6NiEIaOvRrODBr-O>JgK{r%+w3d-1NB3B268BTZ)Ow5UaXSg=w;YWc3h z#Z7jyqD~=7)%34kn*^hBlPNP=#L-h=d{-N76FK6PsQ`5i@`+jFM$ z6GIBbnq=XXnSZOW+3ao{>HA!nr%H+gIK^G}{JLIBHJ6ICigZ48Kwe$JL2HVjc^((Q zvg(TUa-D@gY{1)mu6f0gTYC!4weRXebeucWf~iG4j}w?9Bt|V18;Eap^(a5=`O5m; zFt}pzCbxHn?1sA!sw_JW)`Ris!Jk1|KSf1)Nf3ejk+!Qb#3*9f@!=?~7d!H(K_mCAiPSXh@49 zO=pYn4Z(hQnDuYGdwo!i{0k;tN7XF=XS*Rn05w{jm>Wh&?#<*?Kh+;bR;#f|QpU_+ zy!603(-}!(pX~2-C%LNhqIK)EAMFp-HN_c+wf5$b&bhAiJ9kNxw8}JGC%`27H#)cA z^GYplXR-<%QZ<>ga#ciknZ(5*#f93L4-H$Z^>%W5uCx+o`Gqca1z}66oD!RBJFu1{ zeE)Ea_6F~S-_tn)fmOhfEhfHnN#N=h_g3zw0!?N;;TRqpw1>X7m4@h+(tx3qubTCm zVw#?FYUvDhQ!g z80x8F^~cu5tzoGrJMXK4{rLDo!|9`^q_XqELy4-e)oKMJ@I0E#6)(#Ml3*oxIYH?U zc1qn~2+X5|C{ zt45pp`3gWDF-Hx_I9lK?Z6>65BPmGh;h2)twm6xa42fw|-0qOc zeHq%GLEc&2myl)Qp`JDU6F{cNquyFJC9kFp-YWon$*{&ywx5Kn< zJs2HL_6d@2rU%e$F1ChofnW!9t)3lwbe@ucoC8kpYdtON>2lgW1mDjEo2Wh6P)*eM zNqz9l6J^1)Cwv(bM=IG#7cstBc|E6kJ{eZz>|u*_Vl*hSZBxgiyG$6PswPe!;1Ocd zu^*LiS=>Na-Qe?{>=8k|4W+9JwuOsH0j}_#8q8Ibs1avW8&dInKujqSxs^ZgxnGJR zH?gngUgi|>D82`;6`Le3njg7@QCr!(9q3AzK z8!LvG6?~Z_Z*cIj^5_wv2T81;_i{>fR6Y=$#bxf{?E~bpD(ydQ1v1{OOc+DDe z*Ddyc8hgj!OrmgGI8G+E@n$BO*tTukd1KqQZQItww#`X0v2ER)?|i4~RGm|GZ&z3K z-rdjcy?6JoRnL0X(mUS$;llIfGngcIRo#t4VY~5?o)`{qrCUQnV@EN}BWpH?&SjKe zW(q~Ea@qTP;#I{^w_qk>5BG4hluzmva)zh4+0D?9mE`Z9%ntTp@gwb}mX;E$+ME0$ zmgDc&ZI1de;=w|ENmF6w;?wwiwLR%q?wF#}9>b9>G0g~O$9Vh0_m1ZpXx`!-pm^Gp zZ-Mv0qbwcA@=p|H8qQtv%DOEqicz)#t*=oMaGIosPW`!a*5-APx(ZYGPCZr-kIbE= z?V>}d%0Y1y_Wt}kQ~2T zi)1ji@0xXJe~;olVJc`L*^~kOw%Zw4cgNm^w2k7)y~lG2w%o2i5ai5huo=I%n;u%V z;?U;{GS0GE^S`9u+5Y$RJKKLH+!+CE-^YLT{(JhJot2*9|2h4x0#rx0N-ZgpYR75s z=!m~WMaS0nQ%J)xFgrmtk59RbOOZ9FIJty^JP8rm{^+)?b#?tZ_u(_Cai9LkdK>i4 zVUl*@eARYfm8XhhLK@C3WO@w z7Z95>tSQoI{YuSZ0)ep$@vrKOwE?(V zBA>Gj{_yk9!ta}&j_m=}H}%U#Lk9Cb2gQd45vn54w(=pnHfs(3lz=&e@b27w4&zBU z;m_WkUY6Cz#=pi^5mR`n<=%bdf4*9s-VwtFY4+|k2XA(H(U~VYk3U2S2Jb^Q1;PK$ zjT213LeznB4dD9`#?}*!>C5i$nYXbA61#kj`=RYXG=OuivHN9Z6PXi!S2-T(IfH#l zJ@8{s_U*;8-Op6}9)g5$1>#%%VR(5aGSVC%GTQJbPUG%562UNpgS@`^1h(4ye}Fqe za(tL0pIxOJcuIqrfd{j@fmrdkq;YG?KO2dIoPEgvFMV@Izo5duXu!U-_CLPD-&~_V zCw_f?bszO8QFXAhn}HG#LGRS^fV*ik^TX`euYfRv^rS|E&;Gdf-1V#e%A}e_Ip4YI z;rRM!VK}a>`bxaJy4EA!2e`z-+TZ-Jhx-6RaZv?s39xeNw>9(hVjf?wcJjFhg&~ZN zfx?6GM7)>w#L9Md`VPRK_bt~F_beg5!hs1`ed-Pr+W1oLD9A6zGbJ27>$P0uPH@I5 zfwEou`Gb7njH#np+|3NwQo6gBarH(<%BjQm4$<|$J!2E)7Gn40J$)fRBB5;eOlR=7 zp{)|=4^K=@OhCK6e~ujKm8SX@Dg>wtS^Lby^WwwQyW@BH;`$6M)5^-mMtrS7#U_94 zy&s|Y@m~TgC)X&-nuTX8ix!RDAk9T*@(R{gTzL0$^wkBL1#DXMaGIvrPPQV{!w;<8 z>0PJlp1lJ{_6g5zgrdD0YqJOai)lce;zSOndY9uroZ|mT1Q{{;jdX&Lxo@-gpV>c+R>zRpjM59_myd63oxyK) zw4a_|+TK{$a=9-u3QYLLgBvITCVq<6Bld)HX>j7CY3=>BzpgR}Ie{<|N&hk(+(#ss z3!zeWkKgg{$;g_L{Rh4eaqh7;kEPzgnft1vMJ-?m1g03aTL#7btX8`Z8A#yp4(Gd9 zIfz3@r}B;(nqeRrSsA{q@gNO0tpy}h^-m(IxE$$~Hp&an^Ue;s#jpI!?M#{S`KL3| z<|2j;axS#0$^2PgZuzN2eEs&@@Ai~C3{~oUdJ1~+{1b@UN|5~Cn$ZO%bPOg(5ReAL zZNyaLdNSk7K6aLTvT-YZr7~@LcbM9l5zYSCS>1r8aD%h_%YtdJ)6p=_8kDTzMRo3p`28I^N{tLbG%;gzT;nvQ z1k_-N!SV zylg+ddLbysF0acZ@d&4l=Ce{z5Nze|#&{fhr;NilCkhT$o!+&T@@Efa--6Qw6B$}) zJO$yix&HmU6LE}7b3;L55#>O5hJgp6Q5$-YWy4_%(Bi8^bN4E7T3e)A0qmj*+~!C% zu$F$PEUZ17>)Je>h3W{4h^FWRm$vf>avvLG4pyaK8yeY6KGZ`;TbP*V5eq?O)F zf0g2Ok-bhi>x#XOCwC`z9Fjv$0;vw39}Fkj4oQB~H)f-2>`FGCQVcKM)%$Tui z&E($bnupQW!lFQ$ZRM(nCv?s5l@Y#NA}fwR|0pGtUvrc&TSMwHq}3d&t8mQ7*%FO> zi0k{FOtVbIpsotJPg_s0U+|_dlJDM0YD^tdWR5dF+JBDb^i0ZY4)BNjTHbk!gqM1F zY>`841w*k<33AXO^4#;q@1l_vf1fqQu!)_^G{rs#7q(Ubkl0*L$Zt zH`t(b)XsCS9Uk1IYYnXUOF{2^v-=9C!NgY zT0rl$mvRX<)$|AXR!%1C6=S=IS3SO@j;yIJS${i6OzKH$(JjMd;Dz)Dlk2Ij;!Ukb zoh#=h6k24;$$kVG>@V7QU|RFO?85IEF=5b!5ti|BlK#^isk^U z&3JwJoJYS3UH!UwP=zZ2D(*vHnl4wm(0UavlY)mS*3#YZGpqQUHFZ`d4^G$I+Yl~i z;4pY=oK3^()2(6vPf{{g*16>;aWW5>;f}*h6)oO=UOs8WCW0JpO~JjS1Z@0Q{*UB} zAW49)y@*3M2cxL)Z%ue3Xp$2OG6M#sF_$UVSpsTpk(t#NMgd;+K$rd~JJ)F73QTBn zIfuD?-JE$Xr_axSakqb3qH8%hBC{1?5F+9JnB?u?-#sBhEF5;g(ipAMCEF`*tgs=LXXf3OmG5)6BnM*F8M?MuV zu2*o?|G?xJCqZUL?U2$J`GrX_x~%($h=HWsRYJV{bUm$lP{g@OLT_OBwcD<{(0@=~ z?Y05_4_Uh=e{fl?c)0LSpTvKr@F$S91t;BTEH5*;9uXXAFI)wQ>3Xd~h`JLa*@0=C zQ{vHFQ{lJ)us=n)N)eOe-#gsp?#e0iP%x+rmn4E^OZsNl-0q+mqk;I%-83WtaVwB~ z$+1)kz>6N;57^EKjuH|PV&SeIW_EvJ8dBR87BQ%A8{?{-U{8F|Bv?BL)@@vo@wXC* za&XJQ$l6UiB=nB@-q_PjOrv^_!Zj}jZ6fH`yxe1#1}7Z!1cN79JPJ3_aLLH5LWA1{ z`z=EkF#go$;Z2J_fbgUCQB6fJaj!X{(;HYY_}zti$~NkS(_;qh%-x9iZ=Dd;m`z&0 z{jgB`$Q?BJYR_}_n5CM$_(ep@Rs>^;*C_|opE|<&3E#175U)bVA&xOs3{j>VAxq|q z^J-!-8i0D*Ag3LRkkNYc?w`|{%)BG3IP~@CyfIt;+_^lla*?1TK;WHQr;i1g3dv3F z^r(tP@%Cenb6-XQ-s3v1jWlqC9?6+9wL$n{M)U@ zdEn6_VENe~NY?X05Jak`!Z(N2gZo&{(?(~e%divST});!Bw}AM(fj%0t+OwWeRxDM zdt4_;Ct;I?@lmO;d0PzAD802=)t&Txw!mO;WvwWpHmh7^SpS3 zv(fx*ico!WODCu#e}cuUD9^Z*-0i@#&~+G@69`E3WSz;4&t56XpbP@1MklE*RxrjK z0yi||VF+?7<^mI*z*$G^?NVb=-iscg1bS$&iTEIN{UJ(m9)0pDuVA6{JO2ZR zQn%jUV<(_kb7wZ)6G19WNE+(>%R(en)ZzwDSU2@XyNoTr|6KikN)@I1G+5W1H?8XT zJGs$ zwV11to}utkhLlpzESW|&@%9goa%7v2Bzs}n5e&7UpE5G|10|j%72XSkGmESGzBwgX z2^>L4h^0%Hb(eaw++ORytH-kyRcJI|)3!i1$(Bg5tvs2WQ){SK;HW+^%_rj2y1fV^ z4H5Fm73Qh~VlD<((kEU=X-d7rhiQn}p$H+vWX`aw85hZvl`M=%t}1FsQ@+In+5^$} z6e@>@2V&TKIXF>>`Qky-&O4dbKIFwnT{!h=^mOz;oK6Q~$qTbGkhUK$KTxk*)<2rZ zvvl21Pu4bx!LV{57DZ`MKHD1#_a7C+E(h_X1{I48mNqOIdArEDl~E z<`<}OZmt2ErFZ@Rb?}ue;Ye_V43<_7&7`9Yd0Xg#9hmFpQI(4P_K7Bb6{bFKYa!BK zvcs9gYJeQx{Bv^0I@@`2s803kalA>;mHcR0al~b9E$gOzG+!ICM&7=Q zdLl`AmS&`xz$JPcT!Iq!eYFG|ZwGJLcI!?Nob1j?rx7U@NvJmHLrl@$-U+n-Oh~>D zO-d;5owC5~s7nQtr*N0dK<(zut8?w3?~(9sFktR_+J(8eOM6TF2oM_S zuq8j$;5MI$*5{fb{sax`#`E#Y{4kV3XSyA4w%*rw_PWe4=N!d}RB@}`% zTC7{FdgTzV8#g!nZ_;-PuAM=E)L5_m`rO~=KQR2VS ztV4?PLqt7+o3TS0GCD})dal_s@!w*kqjx1gi|qGDq9@X@R|oqk??-cF{rezjvWzxu z6IvjnuohzAO3u=bU6%orTnFdXE{AJYz39K#I@Z%(O&P=ySk0gXv2?o*+s%b^QsEH9 zRAZ^d)3ce}G1g zP>+h4!schP7PcZjZpsV21p*yggU&!wZVYw?ah$pfBzMABb|U?20;aEWqkq-QJH_ho z=;@)pY_8mhZ%bzDIA`p35@NLzjX4^&O{g=HGj5x~AMSmB5Jii3Ew-2?=dr zyc!SrYQ;^As5X5mWG}nt6cN(>E=MM*kP}YC#Xl-xS+C}c?x3UJ6 zV9^Em$iv>tWZa55&MzTQBg_O>n#oO~$P*imo5;PG#2B^^d6d2s)A4ICBHr~pH&qp5 zS2&)Cp#xbomOX)CGCQMdFt!#ew%zRFE6jT*63AQK2vu8^v9=Hq?TZHOWZZHw0%VDM z7&8qKz|lZw?T*LjtJSxn)LQ6>fJqVLRUCWgNfaa{14axa?{G3EPjZVpb7(W>m@e5h zsf7l`-7@WZh2qLz^Etcg9xN37rV#qNJyGgY%cWWVKiub`aGU7(EJ$OwoW*PlgE+>I zk^cepA~qXg6wk(aH_YO6GnT5R3QZ;`TuVuF{`@;C#^FYlWEk-NvkO-u<4Xt9UP^n| zmCN2D!*L|!_^1asl1$8X^@Pso(n^5hCdv}uPiM%;sva6H4C@0I@o$LTSlaYxz>)Ln zKb*dAS&zTrranbqM~#TSC?>EJsplt&ySq=*h4oPn()p^lo3BknWR2SsWg*WZaYZkFk^S4#$A zqNvI!d;Eklls-p3u&mm$4El43c9GfD;Qmie;mR>LS;Q&lD1I15G|v&7|HN!EiR5(p zxIoE-DCUc8Zr16CF=JaZBJ1iH!lhF#>@`dT|Dy=FJFh{T^<7cHtB5^eN!hGn=U7_V z$&s)IbRHx;m}xjmdNiF7Owe#0$nsI-FR# z&8Vu=ISe8Sx-vGnjiqiw<&ZG(GI;U_Xgz0wK{hp&_uiIzx?%m)?ep7!d6)i`??sM zB58AKSiq3JWP4aj=4|IIq)9v*2Jh-|6&7pBF48^=K0eaX3g-*{{+?~Z#S!uV9#=}x zCe2vNnRL0x(4HJcjqN zk=fZ&HKp&dQI|OV1Js38o=D^Y4NyOvCd@#9_x|wF%a+7qIbPyNrs?o9HY8_B!-!EjO`|)Tnmp`T zYD6>{!53iE_)GdLlJp_M(YBC%V%dYDn5L}HJ?zjVB7x7?Jb5g~HnZ)F^|0n-fz2A2 zB_)|5BHXX?(~h93SbEblP1Hw?~0)h9zZkbdNhh9{lo z9ejqZwMH*-R`Te__GFrH@)+4v^qV9!C2=y6<{aEXlX5P}Mhg*-BZnZ9sGjH}8u zrVp0aW5u<1w2-kx-6#xFfdgOpI|h5mR#$U1Lz(=qX1G16vwn;iE2!}`35*av{f%I! zQTR?Qlfteu{BkbQHE%STB(daevlQW+vz5oOw3EUKK#4SSt7Lj0!PmV~`2%t&=YA*W zSidpdjLTP6X;VtoGlEMz#+dDINImV(Bca=*MjQ2bFitaXv&?3+1$_9%^Kliy0QwgmvpT&!QgD7RY}((r1xMoEvQxl6K$Ah^g`LceH0?QWr0_vi;Z$v8@&7oVUdoIu1t)#=lZL> zA=*yWI)!7?C+`ZULho>zyqvARpCB%CB6RmiET7tBE$^$C65*^v>8H44oC9sHTFHCZ z4)oqoP6_+9w2r&eN%48v*F-L4+D|O+P9~)|b4`;Q5*ZzNmuvF$Zt@o<7`b;@GTZD9L^?Cs76DD#2_;(CZoS$d+@vZ=B8b5E5roz zEmOhVn?w4aKYsrPq(nF4w0-#`6Ehb$YaKFn=8dayERZup>LA)?osHCrS{`$_CbR@` zyWrZ}U7Q_JfrZ7Zp|mGbav;e>)+iDIUYa0zL$WEieF?SJT!czg{feAgdmgI}zwJ!V z+(cHa@tXoDQTCQ4%E)G2emsgm&w<#5s*b^>#gp6Q=2Lq(65LK6uY+7v6yI8>vIm5? zOH2Bh(B%FLU@{mJ($~%JDsHQ(B0W2W;WDM`-m{3C&k(!C@`$4|YvcZGscV)sOdxn_ zrf@7V@qtov`jZEett8ZHu*yWlem}~b>&Z~k67TFKok=DXPpQ~mwwOA!lB|p@BeAtY zvZ?68G5p4DU{`h)Z85k+_Ou`HrwjldU~L86F5So-z-wQy93(P5<%)j922G(%M1-u0 zV}<5)y_AW)m|~i!beQ8AdC>-aU!+aD#^zP!#YD6=Q##?W>Ji2}~7A$0u{A+_v^t2B6we~?(qxKOBAYCko!Ag48T<4PfIW|&gj zY4HgLT=o2v%k>WW;aawRQq~mUk#e=tZM*=#DFx`@1rgmc6zWcf_uX24N&A&r%8>;j z(hvW4h3_mDMNx0SCJ8%_o4cXAFwy3(mn*^^_&n*es+G>Z^}}VPvi0zt`GPu2R1MWE zluQl1%5rT6-{fZ)X`?LlLVwpHW_uV0#R?F!Og+b^2eq^`*IoYbO_%oonTc=MdyJkv zy`MfI(yCi~b`GaFUooC-p)n=g&T`--ys2*vWCZO>KZ?2=YXQn2Zw-$#@?R)1y!EZV z(g?vmnRJCXI$LzDrY`0rv`obK_C2{HMZQ45Lh^;CMF@PQSM_WmRCwUUa8d_WPh&6l zaFjacZ#LYl*^Fb#Y^D#ZYfzRe^~hmX|H6HJ#lJIF?aD7(=YyVS4RqkSL2WOX_9oVP z)!X=#K@P1Cd>WScY7U->{`N$;mWvTH6C|s}IilrT348ucKSo(;R)pEbF#2=hlXZA{tQ8#28*&tzQ9-DWfE<{M(fmLrXH-}g7A`6Ws}2zV}= z#cD)lj0B_k@|F$seI)>b_CxH3;Od_janJdnqe7mMxoqKKCi6mc!|Wg`+52~~mER8M zEuPl-PT;frBJ1@tU?a(JgZCaQeQ}HlmyX*+dCaA&T?KmYnwA2FOJS}gUJ9RrQ=KIP zQ5A~{Pgxd`z0tMCU9`3S(-XN&4a2<&CKYIM>RcGZnQP!VA*t-LTPV9h9zJNH(oyj{MpS_DANNX70bo?k;EpOu=VML>~X#Aok%M* zBYh<=8OVW#e^A2b5v~O*2T#ZH-n%FYzMzhKSOeU;n|$21ff<{|0o00PBN`7}#@UtT ze!KlUj#4*t1u8^-6^Jo@%iCRtS}12l4p8@~T73pu_^2hF-Sy1*I`f+R*kYgt!06c? zYK?i_2)M6a9m_|`{I~mK>vuB|pYhg|34HSI(z_yHUc3g&@pGTTHM0CzX!m+vJexl^ zhBQB#CUSwq+$H`U66NQ^ezbGCAu^W9o5Y^%T8`GB=3)|jun0KWprRTgsPsLB&sxSF zc!QsL!A&{8^(K9xUv(gr`O$u7Y9lK0w%i7te_1(kwxZ)hHkoB=Mz|6Dx|U(IK2K@b zq|;Yz?W8@fa*ZlCXffs|%+kC_1Wbmm@$9H1iot2r1D@qeew$2}#xuC#sVV{6~8vZP#@=}ZDN9PV1e zAu07)*rDe&J@fv-p0Ue?4xM$>P1#xIxa>2>Le(t`mR7G=Wpw0Ljz8?@RfYZV|$u#`XBj#k> z+~c)v-jMHSLBKa6AG{oQ-h7)D3Qp9ytX{;AVkDC=I!>7td$;Vm&ykU#3v{1VOCY*4?eK5s3-q>q0aR6|H%jw$nq*A8x0%P8&f`<*wF$+LrP z=l9b(tw{8Jj}L@pN$=)=@A*~!e-ft-R)+1$wr_1i3* zDd?nt?yj~D#*X9^u>bicb6Xo>11BJWT$q!Qo`Id7gMopOiHU=Om4=>$jGmtCJ5I*d z`2QB7>|kJL2Q&uIi5gfr0%7Uol||HPMV+mz3=M2-fDQn1WixX}!1wu|>!Ajy0v#N` zrv@<5GB7i+a4@p6&@j@n{?|IcW}#sYdzxvjFJi3@wzLtYPV70qo5Gp;qDG=mcP8;rK6J z4Suuf_TZq z&({w`Hx$x|mVfLgyytFa$g_QYt~Kl=#OmYlOd%SFEO62=W5VM>gQRKn#}dE6Z7>#o z)Blh>Nt>O7WI+yrEKSdIUvFgp(S*9Mi1VADTt^?an(^7RPhr=!y*WYxDIu?qh&lPw~}BT-%63s&aAGaxk!T=+Tjetk>4WFNEQTVl|v9l1?&%s z-=03*1q0$BD5V`C6=;rJ`a|zIsX7Sw`H52nb{r>CdZ#Jx5GN~rE%);dS*jt!n4l!3 zC{8IID+pivQR0t`mt=mmA{xKCK!YN(mZ;PhXr^MKNUdU53dLnmb6uZWf5z% zT-pwt8VMz@l7Em87tRhX53Ifz&j>n}h{Qt~a)!L49&WLn4MqOxM`-#jN&u^lveCot+BS z{ul`SVVXonlyOI+1}N_p`LdbBATCQ-^Xh`L(vvI{mHfX&&~2(i(>3mzgq&;BcMjhG z#6@4hx?zl>_}>cG%GEjn00EM)!30y>R5v1i*G~58-bAAP#;@zGk=Q+0FIVk@p(vs| zHnEu#4<`i`wS#STI!vsC=lgqyEa}@*L;H+c7EJ@m!CXJjS7+m{n-W=do_`Vi zS^M>l@CPwN2zKZcO2e`xO;*kZAc7m!#99VH@$%X9CQcJ|JI8D7+%P62o}kF`gq`H9 z+l%hQPB%P)qa3<<@05G9vNmGDqf|vo<4j{t;W<+TJhM7D9bSj3tB4%(|do{6xoFZYoghYxIAPznu zg|J4WIG;kE91xh56!J>Kl@zo};zV@!qr?))>=lJ+n#zf;P;lTS(lJ4T7J>_7L3OHC_NCTdepPKT;&;ERAsgIZC@MJ@Wf zY_6LEv$$SJqhbe$8mE-B5-vIyCCS6^x$zpA0P2xqW)-SVW2(2^`tJFc#Z znMVxTQ#4NR(lt*1>R1s~yfbWdQR6)iOb5!Fgl8r#s!8h^WMVkV0oCngaCUvh>rPz8 z+cx03waYA>i@Hn+%q_iILX3!-sL@6D{y-n(4Jc_vgd#-hVB&1eUZUnwbo*$KE3NZz zGp(wScA27>qspV=MdD6*AEl*z61dS4(_VmB7?Y>>^DvSt2-y?biumYDEDWKSR=H}W-L2l07> zcWXi9j=6W?3hHDIEtk-GW4Jl$;x#^Im_anPUx~+{L{(~S*Meal*Lov0`trnLM2E>$ zg!kI&r4VV#ANFg5<+XF8rN^a1)bonnu~Z=wUb&qO0EKo$6J2Z#!CS zC`!7g+2wb}eF)#H&T~^FO*XBy9PhcuJ6CRa`LR#^>I<%06V@(#LpbT^a%?SY$+|iT z(YayOpIC;uVO_M+4{XGp?Y|3dm5JoF20s2C;w!vww6<(VDKie zjoMY>$1ELnnTn-)*sD=vFAJI~=BLrK*T<@i6GW|x3d(R_aRatF(G+@$EhpEH&>&Bk zE;i=f>NC`$tF70XK5lGe9j`Lq9-nLw50?Mhu2}uqJTRB@%1GXG_ff&P^N95dhvqo9 zn{n~=tbhBsTWd>89zu_G^F8!9BG05Q`Smj^<~QlWLsVA@#0JX!2}N-%Ux>@AgS1K- z3*pe_@u^0N9PMl}XorjHR|w9|O((9*-OZ&Ha7InXKpa zukMMb=U6YkWg_TzNZ&EN8zG;;?Q6Z~u-I|?9JQBw>b=sezx}e2IG=jDG0!+NZu_H+ zPmyy;xp#N(Lc=o(s<%IKCmR)#r(Pg?o}HZIr`)E$roIMBzxPAhv(LnFfXoUw4;S#fn3|E9u9c2hPL$@J-?puDzrk~HH!HgOKFp86uDD=T&YS?lJ^ zFvF<(p>PeUHz}`|yl0qmgY=H{8Sneg*W}JnoyvnRG$iXR_0)CkX6NFrhj07q6X@gK zP97`P7-%*S4Mk#9M{siDhy%N-zc?QzJKBw6)XG$VehT%=qmj8FzQT5}5F@?+Xw<3g z>HhjTFaD&g%}XOFkiY}8O@Nx4|D2rWR2-i5;>AQ<%`358s(#)sP+hQ;=cvhWizBz6 zXN*Npw3Yj?b~nRzH=~*@fhgyw`A%lX*4>Hew(j5W)CgX5=sg`C@lWMG%Yw}Nhm)bB z{;$Z=9GbeMSgBl4V-aTIvWi zen(zzaXw{jHZP1sfK48e?~Hx!UT(+`N@3fg^6(>y1qZ8RZG~XWU5q1QEGKNl&~FhQ zcs86RGxK*#`e=HRxf>r@xC(ph=@nHR^HXWA$G!Px&4muHL8RT?-NAbuV~lbAh&83W zUl=MmNK0HI9^?+7Gy3tkZmIn< zEv`jPJ6k(;>F?Q3Tw(6>=yB?9*FS&0i!|(?`9H>O_;OP*M9@fZt^*Zn@1%TGb&{N1 zC=^>%i-g4Rm`1J3Y${2X{l=X2y|o1&{nnsCTsBfVp`>jQCb>cCIvB5T*?SOUC`(B> zcT8oGvqOvOo6UeMKAXYUR!3opo_I?EBzl!1sOjVQW5Bvsb$*K1KV^3UG8pS@zn2F3{zPo zZT~L5nY`QOc$>LZOEXCYW7WzCH6$NUih#!X$TFNZ z$UqR*U8tYP!PxiwbR>C5g4oOy2XC(iAPIJ$sdfnVW`ejO`q+&0V1@Khd-R}?;^_q# zJq$k((gGaQLa5S$IYtE$4-G(X>p)f114NX5{>zM%4*-&9Ce(h)`>Uu2If z6SNpWyX?Y0>JuSKpO_NyGCTWr#z@<;)MlLAZJn*&f9yINVotba3&LIQ5EAAg#LoJY rH5z_?`Bv(^f|p@n1ODglbaXOsaB};G(y(kC^sKC~q@*HpqOku5Bhh`~ From 48d385178ab54c023ab7bd6ab1bcdf8db393bbc4 Mon Sep 17 00:00:00 2001 From: Will Beasley Date: Thu, 11 Aug 2022 20:34:49 -0500 Subject: [PATCH 04/18] remove Lazydata check note ref #9 --- DESCRIPTION | 1 - 1 file changed, 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index a63c658..756ffcd 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -28,7 +28,6 @@ Suggests: rmarkdown, testthat (>= 2.0) License: MIT + file LICENSE -LazyData: TRUE VignetteBuilder: knitr Encoding: UTF-8 RoxygenNote: 7.2.1 From 3d9b2b3575110b537cf96f3d39424dc2d8f29bba Mon Sep 17 00:00:00 2001 From: Will Beasley Date: Thu, 11 Aug 2022 20:44:32 -0500 Subject: [PATCH 05/18] T/F to TRUE/FALSE following goodpractice's advice --- R/table-nih-enrollment.R | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/R/table-nih-enrollment.R b/R/table-nih-enrollment.R index 82b6e10..3bf9443 100644 --- a/R/table-nih-enrollment.R +++ b/R/table-nih-enrollment.R @@ -123,13 +123,13 @@ table_nih_enrollment <- function( d_lu_gender=NULL, d_lu_race=NULL, d_lu_ethnicity=NULL, variable_gender="gender", variable_race="race", variable_ethnicity="ethnicity" ) { - checkmate::assert_data_frame(d , any.missing=F) - checkmate::assert_data_frame(d_lu_gender , any.missing=F, null.ok=T) - checkmate::assert_data_frame(d_lu_race , any.missing=F, null.ok=T) - checkmate::assert_data_frame(d_lu_ethnicity , any.missing=F, null.ok=T) - checkmate::assert_character( variable_gender , any.missing=F, min.chars=1, len=1) - checkmate::assert_character( variable_race , any.missing=F, min.chars=1, len=1) - checkmate::assert_character( variable_ethnicity , any.missing=F, min.chars=1, len=1) + checkmate::assert_data_frame(d , any.missing = FALSE) + checkmate::assert_data_frame(d_lu_gender , any.missing = FALSE, null.ok = TRUE) + checkmate::assert_data_frame(d_lu_race , any.missing = FALSE, null.ok = TRUE) + checkmate::assert_data_frame(d_lu_ethnicity , any.missing = FALSE, null.ok = TRUE) + checkmate::assert_character( variable_gender , any.missing = FALSE, min.chars = 1, len = 1) + checkmate::assert_character( variable_race , any.missing = FALSE, min.chars = 1, len = 1) + checkmate::assert_character( variable_ethnicity , any.missing = FALSE, min.chars = 1, len = 1) levels_gender <- c( "Female", From 3540b08c74c9beb439f407130a85d4c9dc3faadb Mon Sep 17 00:00:00 2001 From: Will Beasley Date: Thu, 11 Aug 2022 20:48:26 -0500 Subject: [PATCH 06/18] spell check --- DESCRIPTION | 1 + README.md | 2 +- inst/WORDLIST | 24 ++++++++++++++++++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 inst/WORDLIST diff --git a/DESCRIPTION b/DESCRIPTION index 756ffcd..a656e2c 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -32,3 +32,4 @@ VignetteBuilder: knitr Encoding: UTF-8 RoxygenNote: 7.2.1 Roxygen: list(markdown = TRUE) +Language: en-US diff --git a/README.md b/README.md index ae53fbe..cf2e984 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ The package can be uninstalled from your local machine with `remove.packages("co Build Status and Package Characteristics ----------------------- -| [GitHub](https://github.com/OuhscBbmc/codified) | [Github Actions](https://github.com/OuhscBbmc/codified/actions) | [Coveralls](https://coveralls.io/r/OuhscBbmc/codified) | +| [GitHub](https://github.com/OuhscBbmc/codified) | [GitHub Actions](https://github.com/OuhscBbmc/codified/actions) | [Coveralls](https://coveralls.io/r/OuhscBbmc/codified) | | :----- | :---------------------------: | :-------: | | [Main](https://github.com/OuhscBbmc/codified/tree/main) | [![R-CMD-check](https://github.com/OuhscBbmc/codified/actions/workflows/check-release.yml/badge.svg)](https://github.com/OuhscBbmc/codified/actions/workflows/check-release.yml) | [![Coverage Status](https://coveralls.io/repos/github/OuhscBbmc/codified/badge.svg?branch=main)](https://coveralls.io/github/OuhscBbmc/codified?branch=main) | | [Dev](https://github.com/OuhscBbmc/codified/tree/dev) | [![R-CMD-check](https://github.com/OuhscBbmc/codified/actions/workflows/check-release.yml/badge.svg?branch=dev)](https://github.com/OuhscBbmc/codified/actions/workflows/check-release.yml) | [![Coverage Status](https://coveralls.io/repos/github/OuhscBbmc/codified/badge.svg?branch=dev)](https://coveralls.io/github/OuhscBbmc/codified?branch=dev) | diff --git a/inst/WORDLIST b/inst/WORDLIST new file mode 100644 index 0000000..af3015e --- /dev/null +++ b/inst/WORDLIST @@ -0,0 +1,24 @@ +CMD +CRANPace +DOI +Dev +IRB +LTS +Mandem +ORCID +PHS +REDCap +REDCapR +RPPR +Rdoc +Sreeharsha +Zenodo +docx +flextable +htm +https +nih +phs +pkgdown +reproducibly +staplr From 75c058293606bbe7ee2c052de3b7aa8e52ab6983 Mon Sep 17 00:00:00 2001 From: Will Beasley Date: Thu, 11 Aug 2022 20:52:56 -0500 Subject: [PATCH 07/18] upgrade testhat to v3 --- DESCRIPTION | 1 + 1 file changed, 1 insertion(+) diff --git a/DESCRIPTION b/DESCRIPTION index a656e2c..882cf73 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -32,4 +32,5 @@ VignetteBuilder: knitr Encoding: UTF-8 RoxygenNote: 7.2.1 Roxygen: list(markdown = TRUE) +Config/testthat/edition: 3 Language: en-US From 88cbe6a3b7897d0364e4f12dad118a5d35d58f49 Mon Sep 17 00:00:00 2001 From: Will Beasley Date: Thu, 11 Aug 2022 21:06:18 -0500 Subject: [PATCH 08/18] update urls --- NEWS.md | 2 +- README.md | 8 ++++---- vignettes/nih-enrollment-html.Rmd | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/NEWS.md b/NEWS.md index 9d84c50..986afe9 100644 --- a/NEWS.md +++ b/NEWS.md @@ -4,4 +4,4 @@ * added `table_nih_enrollment()` and `table_nih_enrollment_pretty()`. #2 * added `nih-enrollment-html` vignette. #6 * started pkgdown site. #7 -* the idea was created by [Peter Higgins](http://www.med.umich.edu/higginslab/) (@higgi13425) for [R/Medicine 2018](http://r-medicine.com/). +* the idea was created by [Peter Higgins](http://www.med.umich.edu/higginslab/) (@higgi13425) for [R/Medicine 2018](https://events.linuxfoundation.org/r-medicine/). diff --git a/README.md b/README.md index cf2e984..f2e6b89 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ codified Produce standard/formalized demographics tables -Clinical researchers often need to document and report the demographics of all consented subjects. A common use case is for reporting to funding agencies, including the National Institutes of Health (NIH). The NIH requires a particular format for the [PHS Inclusion Enrollment Report](https://grants.nih.gov/grants/how-to-apply-application-guide/forms-d/general/g.500-phs-inclusion-enrollment-report.htm) in each annual Research Performance Progress Report ([RPPR](https://grants.nih.gov/grants/rppr/index.htm)). +Clinical researchers often need to document and report the demographics of all consented subjects. A common use case is for reporting to funding agencies, including the National Institutes of Health (NIH). The NIH requires a particular format for the [PHS Inclusion Enrollment Report](https://www.era.nih.gov/erahelp/assist/Content/ASSIST_Help_Topics/3_Form_Screens/PHS_HS_CT/Incl_Enroll_Rprt.htm) in each annual Research Performance Progress Report ([RPPR](https://grants.nih.gov/grants/rppr/index.htm)). The **codified** package, in combination with the **REDCapR** package, provides a pipeline to directly extract the demographics of consented subjects from a REDCap database, and to rapidly and reproducibly produce standard demographics tables. This pipeline is demonstrated in the vignette, *[NIH Enrollment Tables in HTML](https://ouhscbbmc.github.io/codified/articles/nih-enrollment-html.html)*. @@ -28,7 +28,7 @@ The package can be uninstalled from your local machine with `remove.packages("co Build Status and Package Characteristics ----------------------- -| [GitHub](https://github.com/OuhscBbmc/codified) | [GitHub Actions](https://github.com/OuhscBbmc/codified/actions) | [Coveralls](https://coveralls.io/r/OuhscBbmc/codified) | +| [GitHub](https://github.com/OuhscBbmc/codified) | [GitHub Actions](https://github.com/OuhscBbmc/codified/actions) | [Coveralls](https://coveralls.io/github/OuhscBbmc/codified) | | :----- | :---------------------------: | :-------: | | [Main](https://github.com/OuhscBbmc/codified/tree/main) | [![R-CMD-check](https://github.com/OuhscBbmc/codified/actions/workflows/check-release.yml/badge.svg)](https://github.com/OuhscBbmc/codified/actions/workflows/check-release.yml) | [![Coverage Status](https://coveralls.io/repos/github/OuhscBbmc/codified/badge.svg?branch=main)](https://coveralls.io/github/OuhscBbmc/codified?branch=main) | | [Dev](https://github.com/OuhscBbmc/codified/tree/dev) | [![R-CMD-check](https://github.com/OuhscBbmc/codified/actions/workflows/check-release.yml/badge.svg?branch=dev)](https://github.com/OuhscBbmc/codified/actions/workflows/check-release.yml) | [![Coverage Status](https://coveralls.io/repos/github/OuhscBbmc/codified/badge.svg?branch=dev)](https://coveralls.io/github/OuhscBbmc/codified?branch=dev) | @@ -40,5 +40,5 @@ Build Status and Package Characteristics | [Development Doc](https://www.rdocumentation.org/) | [![Rdoc](https://img.shields.io/badge/pkgodwn-GitHub.io-orange.svg?longCache=true&style=style=for-the-badge)](https://ouhscbbmc.github.io/codified/) | | [Zenodo Archive](https://zenodo.org/search?ln=en&p=codified) | [![DOI](https://zenodo.org/badge/146359325.svg)](https://zenodo.org/badge/latestdoi/146359325) | | [CRAN Version](https://cran.r-project.org/package=codified) | [![CRAN_Status_Badge](http://www.r-pkg.org/badges/version/codified)](https://cran.r-project.org/package=codified) | -| [CRAN Rate](http://cranlogs.r-pkg.org/) | ![CRANPace](http://cranlogs.r-pkg.org/badges/codified) | -| [Production Doc](https://www.rdocumentation.org/) | [![Rdoc](http://www.rdocumentation.org/badges/version/codified)](http://www.rdocumentation.org/packages/codified) | +| [CRAN Rate](https://cranlogs.r-pkg.org:443/) | ![CRANPace](https://cranlogs.r-pkg.org:443/badges/codified) | +| [Production Doc](https://www.rdocumentation.org/) | [![Rdoc](http://www.rdocumentation.org/badges/version/codified)](https://www.rdocumentation.org/packages/codified) | diff --git a/vignettes/nih-enrollment-html.Rmd b/vignettes/nih-enrollment-html.Rmd index 78b0eff..b4a5449 100644 --- a/vignettes/nih-enrollment-html.Rmd +++ b/vignettes/nih-enrollment-html.Rmd @@ -215,7 +215,7 @@ Please share your opinions with us by creating an issue at https://github.com/Ou 1. Populate tables in an existing pdf file with [staplr](https://CRAN.R-project.org/package=staplr)? 1. The 'totals' column & row are calculated. The NIH form does this already, so this is mostly for the purpose of checking. [Issue #4](https://github.com/OuhscBbmc/codified/issues/4). 1. Allow variable names to change (*e.g.*, `Gender` instead of `gender`). [Issue #3](https://github.com/OuhscBbmc/codified/issues/3). -1. [pkgdown site](http://pkgdown.r-lib.org/), like [REDCapR](https://ouhscbbmc.github.io/REDCapR/). +1. [pkgdown site](https://pkgdown.r-lib.org/), like [REDCapR](https://ouhscbbmc.github.io/REDCapR/). ### Group discussion From e904eec3b5c65e54f40fafba34a34b2e74985fe6 Mon Sep 17 00:00:00 2001 From: Will Beasley Date: Thu, 11 Aug 2022 21:18:58 -0500 Subject: [PATCH 09/18] upgrading to native pipes --- DESCRIPTION | 5 +- NAMESPACE | 1 - R/table-nih-enrollment.R | 60 +++++++++++----------- man/table_nih_enrollment.Rd | 11 ++-- tests/testthat/test-table-nih-enrollment.R | 8 ++- vignettes/nih-enrollment-html.Rmd | 8 ++- 6 files changed, 42 insertions(+), 51 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 882cf73..3b818b4 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -9,14 +9,13 @@ Authors@R: c(person("Will", "Beasley", role = c("aut", "cre"), email = URL: https://ouhscbbmc.github.io/codified/, https://github.com/OuhscBbmc/codified, https://github.com/higgi13425/nih_enrollment_table BugReports: https://github.com/OuhscBbmc/codified/issues Depends: - R(>= 3.0.0), + R(>= 4.1.0), stats Imports: checkmate (>= 1.8.4), dplyr (>= 0.7.0), kableExtra, knitr (>= 1.18.0), - magrittr, rlang, tibble (>= 1.4.0), tidyr (>= 0.7.0) @@ -26,7 +25,7 @@ Suggests: readr (>= 1.1.0), REDCapR, rmarkdown, - testthat (>= 2.0) + testthat (>= 3.0) License: MIT + file LICENSE VignetteBuilder: knitr Encoding: UTF-8 diff --git a/NAMESPACE b/NAMESPACE index e9c67e0..ea3d2fd 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -2,6 +2,5 @@ export(table_nih_enrollment) export(table_nih_enrollment_pretty) -importFrom(magrittr,"%>%") importFrom(rlang,.data) importFrom(tibble,tibble) diff --git a/R/table-nih-enrollment.R b/R/table-nih-enrollment.R index 3bf9443..a8065e0 100644 --- a/R/table-nih-enrollment.R +++ b/R/table-nih-enrollment.R @@ -17,13 +17,11 @@ #' @details #' https://grants.nih.gov/grants/how-to-apply-application-guide/forms-d/general/g.500-phs-inclusion-enrollment-report.htm #' -#' @importFrom magrittr %>% #' @importFrom rlang .data #' #' @author Will Beasley, Peter Higgins, Andrew Peters, Sreeharsha Mandem #' #' @examples -#' library(magrittr) #' ds_1 <- tibble::tribble( #' ~subject_id, ~gender , ~race , ~ethnicity , #' 1L, "Male" , "Black or African American", "Not Hispanic or Latino" , @@ -39,14 +37,14 @@ #' table_nih_enrollment(ds_1) #' table_nih_enrollment_pretty(ds_1) #' -#' table_nih_enrollment(ds_1) %>% +#' table_nih_enrollment(ds_1) |> #' tidyr::spread(key=gender, value=n) #' -#' table_nih_enrollment(ds_1) %>% +#' table_nih_enrollment(ds_1) |> #' dplyr::mutate( #' gender_ethnicity = paste0(gender, " by ", ethnicity) -#' ) %>% -#' dplyr::select(-gender, -ethnicity) %>% +#' ) |> +#' dplyr::select(-gender, -ethnicity) |> #' tidyr::spread(key=gender_ethnicity, value=n) #' #' ds_2 <- tibble::tribble( @@ -72,7 +70,7 @@ #' #' ## Read a 500-patient fake dataset #' path <- system.file("misc/example-data-1.csv", package="codified") -#' ds_3 <- readr::read_csv(path) %>% +#' ds_3 <- readr::read_csv(path) |> #' dplyr::mutate( #' gender = as.character(gender), #' race = as.character(race), @@ -158,43 +156,43 @@ table_nih_enrollment <- function( ethnicity = levels_ethnicity ) - d <- d %>% + d <- d |> dplyr::select( gender = !!variable_gender , race = !!variable_race , ethnicity = !!variable_ethnicity ) if( !is.null(d_lu_gender) ) { - d <- d %>% - dplyr::left_join(d_lu_gender, by=c("gender" = "input")) %>% - dplyr::select(-.data$gender) %>% + d <- d |> + dplyr::left_join(d_lu_gender, by=c("gender" = "input")) |> + dplyr::select(-.data$gender) |> dplyr::rename(gender = .data$displayed) } if( !is.null(d_lu_race) ) { - d <- d %>% - dplyr::left_join(d_lu_race, by=c("race" = "input")) %>% - dplyr::select(-.data$race) %>% + d <- d |> + dplyr::left_join(d_lu_race, by=c("race" = "input")) |> + dplyr::select(-.data$race) |> dplyr::rename(race = .data$displayed) } if( !is.null(d_lu_ethnicity) ) { - d <- d %>% - dplyr::left_join(d_lu_ethnicity, by=c("ethnicity" = "input")) %>% - dplyr::select(-.data$ethnicity) %>% + d <- d |> + dplyr::left_join(d_lu_ethnicity, by=c("ethnicity" = "input")) |> + dplyr::select(-.data$ethnicity) |> dplyr::rename(ethnicity = .data$displayed) } - d_count <- d %>% - dplyr::count(.data$gender, .data$race, .data$ethnicity) %>% - dplyr::full_join(d_possible, by = c("gender", "race", "ethnicity")) %>% + d_count <- d |> + dplyr::count(.data$gender, .data$race, .data$ethnicity) |> + dplyr::full_join(d_possible, by = c("gender", "race", "ethnicity")) |> dplyr::mutate( gender = factor(.data$gender , levels=levels_gender ), race = factor(.data$race , levels=levels_race ), ethnicity = factor(.data$ethnicity, levels=levels_ethnicity ), n = dplyr::coalesce(.data$n, 0L) - ) %>% - dplyr::select(.data$gender, .data$race, .data$ethnicity, .data$n) %>% + ) |> + dplyr::select(.data$gender, .data$race, .data$ethnicity, .data$n) |> dplyr::arrange(.data$gender, .data$race, .data$ethnicity) } @@ -220,13 +218,13 @@ table_nih_enrollment_pretty <- function( "Unknown/Not Reported by Unknown/Not Reported Ethnicity" ) - table_nih_enrollment(d, d_lu_gender, d_lu_race, d_lu_ethnicity, variable_gender, variable_race, variable_ethnicity) %>% + table_nih_enrollment(d, d_lu_gender, d_lu_race, d_lu_ethnicity, variable_gender, variable_race, variable_ethnicity) |> dplyr::mutate( gender_ethnicity = paste0(.data$gender, " by ", .data$ethnicity) - ) %>% - dplyr::select(-.data$gender, -.data$ethnicity) %>% - tidyr::spread(key=.data$gender_ethnicity, value=.data$n) %>% - dplyr::select(!!column_order) %>% + ) |> + dplyr::select(-.data$gender, -.data$ethnicity) |> + tidyr::spread(key=.data$gender_ethnicity, value=.data$n) |> + dplyr::select(!!column_order) |> knitr::kable( format = "html", format.args = list(big.mark=","), @@ -243,17 +241,17 @@ table_nih_enrollment_pretty <- function( "Male", "Unknown/
Not Reported" ) - ) %>% + ) |> kableExtra::kable_styling( bootstrap_options = c("striped", "hover", "condensed", "responsive"), full_width = FALSE - ) %>% - kableExtra::column_spec(c(1, 4, 7), border_right = T) %>% + ) |> + kableExtra::column_spec(c(1, 4, 7), border_right = T) |> kableExtra::add_header_above(c( " " = 1L, "Not Hispanic or Latino" = 3L, "Hispanic or Latino" = 3L, "Unknown/Not Reported Ethnicity" = 3L - )) %>% + )) |> kableExtra::add_header_above(c(" " = 1L, "Ethnic Categories" = 9L)) } diff --git a/man/table_nih_enrollment.Rd b/man/table_nih_enrollment.Rd index 5484afa..8cb9ccc 100644 --- a/man/table_nih_enrollment.Rd +++ b/man/table_nih_enrollment.Rd @@ -40,7 +40,6 @@ Produce an NIH enrollment table, leveraging metadata to adapt to the observed \l https://grants.nih.gov/grants/how-to-apply-application-guide/forms-d/general/g.500-phs-inclusion-enrollment-report.htm } \examples{ -library(magrittr) ds_1 <- tibble::tribble( ~subject_id, ~gender , ~race , ~ethnicity , 1L, "Male" , "Black or African American", "Not Hispanic or Latino" , @@ -56,14 +55,14 @@ ds_1 <- tibble::tribble( table_nih_enrollment(ds_1) table_nih_enrollment_pretty(ds_1) -table_nih_enrollment(ds_1) \%>\% +table_nih_enrollment(ds_1) |> tidyr::spread(key=gender, value=n) -table_nih_enrollment(ds_1) \%>\% +table_nih_enrollment(ds_1) |> dplyr::mutate( gender_ethnicity = paste0(gender, " by ", ethnicity) - ) \%>\% - dplyr::select(-gender, -ethnicity) \%>\% + ) |> + dplyr::select(-gender, -ethnicity) |> tidyr::spread(key=gender_ethnicity, value=n) ds_2 <- tibble::tribble( @@ -89,7 +88,7 @@ table_nih_enrollment_pretty(ds_2, d_lu_ethnicity=ds_lu_ethnicity) ## Read a 500-patient fake dataset path <- system.file("misc/example-data-1.csv", package="codified") -ds_3 <- readr::read_csv(path) \%>\% +ds_3 <- readr::read_csv(path) |> dplyr::mutate( gender = as.character(gender), race = as.character(race), diff --git a/tests/testthat/test-table-nih-enrollment.R b/tests/testthat/test-table-nih-enrollment.R index cd6bdbf..45d5561 100644 --- a/tests/testthat/test-table-nih-enrollment.R +++ b/tests/testthat/test-table-nih-enrollment.R @@ -117,7 +117,7 @@ test_that("ds_1c --all metadata required", { }) test_that("ds_1d --different variable names", { - ds_1d <- ds_1a %>% + ds_1d <- ds_1a |> dplyr::rename( vg = gender, vr = race, @@ -129,10 +129,8 @@ test_that("ds_1d --different variable names", { }) test_that("ds_2 --500 patients w/ numeric codes", { - - # library(magrittr) - path <- system.file("misc/example-data-1.csv", package="codified") - d_2 <- readr::read_csv(path) %>% + path <- system.file("misc/example-data-1.csv", package = "codified") + d_2 <- readr::read_csv(path) |> dplyr::mutate( gender = as.character(gender), race = as.character(race), diff --git a/vignettes/nih-enrollment-html.Rmd b/vignettes/nih-enrollment-html.Rmd index b4a5449..1b285c8 100644 --- a/vignettes/nih-enrollment-html.Rmd +++ b/vignettes/nih-enrollment-html.Rmd @@ -41,8 +41,6 @@ Local Data Source ### Establish Datasets ```{r local-establish} -library(magrittr) - path <- system.file("misc/example-data-1.csv", package="codified") col_types <- readr::cols_only( record_id = readr::col_integer(), @@ -52,14 +50,14 @@ col_types <- readr::cols_only( race = readr::col_integer(), ethnicity = readr::col_integer() ) -ds <- readr::read_csv(path, col_types=col_types) %>% +ds <- readr::read_csv(path, col_types=col_types) |> dplyr::mutate( gender = as.character(gender), race = as.character(race), ethnicity = as.character(ethnicity) ) -ds %>% - head(10) %>% +ds |> + head(10) |> knitr::kable(caption = "Observed Dataset (first ten rows)") ds_lu_gender <- tibble::tribble( From d001babdde05af8f05db9743ab18233c7fd1ac32 Mon Sep 17 00:00:00 2001 From: Will Beasley Date: Thu, 11 Aug 2022 21:50:28 -0500 Subject: [PATCH 10/18] remove devtools dependency --- DESCRIPTION | 10 ++++------ vignettes/nih-enrollment-html.Rmd | 8 ++++---- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 3b818b4..a9c8f06 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -9,19 +9,17 @@ Authors@R: c(person("Will", "Beasley", role = c("aut", "cre"), email = URL: https://ouhscbbmc.github.io/codified/, https://github.com/OuhscBbmc/codified, https://github.com/higgi13425/nih_enrollment_table BugReports: https://github.com/OuhscBbmc/codified/issues Depends: - R(>= 4.1.0), - stats + R(>= 4.1.0) Imports: checkmate (>= 1.8.4), - dplyr (>= 0.7.0), + dplyr (>= 1.0.0), kableExtra, knitr (>= 1.18.0), rlang, tibble (>= 1.4.0), - tidyr (>= 0.7.0) + tidyr (>= 1.0.0) Suggests: - covr (>= 3.4), - devtools, + covr, readr (>= 1.1.0), REDCapR, rmarkdown, diff --git a/vignettes/nih-enrollment-html.Rmd b/vignettes/nih-enrollment-html.Rmd index 1b285c8..33e773f 100644 --- a/vignettes/nih-enrollment-html.Rmd +++ b/vignettes/nih-enrollment-html.Rmd @@ -29,8 +29,8 @@ Install `codified` Package First, install the `codified` package if necessary, and then [load it into memory](http://r-pkgs.had.co.nz/package.html#package). ```{r install-codified} -if( !requireNamespace("codified", quietly=T) ) - devtools::install_github(repo= "OuhscBbmc/codified") +# if( !requireNamespace("codified", quietly=T) ) +# remotes::install_github(repo= "OuhscBbmc/codified") library(codified) ``` @@ -123,8 +123,8 @@ A hosted (fake) clinical trial dataset demonstrates how to extract demographic d First, install the `REDCapR` package if necessary, and then [load it into memory](http://r-pkgs.had.co.nz/package.html#package). ```{r install-redcapr} -if( !requireNamespace("REDCapR", quietly=T) ) - devtools::install_github("OuhscBbmc/REDCapR") +# if( !requireNamespace("REDCapR", quietly=T) ) +# remotes::install_github("OuhscBbmc/REDCapR") library(REDCapR) ``` From f6e7e7c9deb56bcb3ed996cf2b8086e2d0ee24d9 Mon Sep 17 00:00:00 2001 From: Will Beasley Date: Thu, 11 Aug 2022 22:06:23 -0500 Subject: [PATCH 11/18] T to TRUE --- R/table-nih-enrollment.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/table-nih-enrollment.R b/R/table-nih-enrollment.R index a8065e0..9f4d57d 100644 --- a/R/table-nih-enrollment.R +++ b/R/table-nih-enrollment.R @@ -246,7 +246,7 @@ table_nih_enrollment_pretty <- function( bootstrap_options = c("striped", "hover", "condensed", "responsive"), full_width = FALSE ) |> - kableExtra::column_spec(c(1, 4, 7), border_right = T) |> + kableExtra::column_spec(c(1, 4, 7), border_right = TRUE) |> kableExtra::add_header_above(c( " " = 1L, "Not Hispanic or Latino" = 3L, From 18a1c5bf28413773dc0d91696c7fa859be6c7ae3 Mon Sep 17 00:00:00 2001 From: Will Beasley Date: Thu, 11 Aug 2022 22:52:58 -0500 Subject: [PATCH 12/18] follow lintr suggestions --- R/table-nih-enrollment.R | 40 +++++++++++++--------- tests/testthat/test-table-nih-enrollment.R | 20 ++++++++--- vignettes/nih-enrollment-html.Rmd | 4 +-- 3 files changed, 42 insertions(+), 22 deletions(-) diff --git a/R/table-nih-enrollment.R b/R/table-nih-enrollment.R index 9f4d57d..aa815bd 100644 --- a/R/table-nih-enrollment.R +++ b/R/table-nih-enrollment.R @@ -118,8 +118,12 @@ #' @export table_nih_enrollment <- function( d, - d_lu_gender=NULL, d_lu_race=NULL, d_lu_ethnicity=NULL, - variable_gender="gender", variable_race="race", variable_ethnicity="ethnicity" + d_lu_gender = NULL, + d_lu_race = NULL, + d_lu_ethnicity = NULL, + variable_gender = "gender", + variable_race = "race", + variable_ethnicity = "ethnicity" ) { checkmate::assert_data_frame(d , any.missing = FALSE) checkmate::assert_data_frame(d_lu_gender , any.missing = FALSE, null.ok = TRUE) @@ -162,34 +166,34 @@ table_nih_enrollment <- function( race = !!variable_race , ethnicity = !!variable_ethnicity ) - if( !is.null(d_lu_gender) ) { + if (!is.null(d_lu_gender)) { d <- d |> - dplyr::left_join(d_lu_gender, by=c("gender" = "input")) |> + dplyr::left_join(d_lu_gender, by = c("gender" = "input")) |> dplyr::select(-.data$gender) |> dplyr::rename(gender = .data$displayed) } - if( !is.null(d_lu_race) ) { + if (!is.null(d_lu_race)) { d <- d |> - dplyr::left_join(d_lu_race, by=c("race" = "input")) |> + dplyr::left_join(d_lu_race, by = c("race" = "input")) |> dplyr::select(-.data$race) |> dplyr::rename(race = .data$displayed) } - if( !is.null(d_lu_ethnicity) ) { + if (!is.null(d_lu_ethnicity)) { d <- d |> - dplyr::left_join(d_lu_ethnicity, by=c("ethnicity" = "input")) |> + dplyr::left_join(d_lu_ethnicity, by = c("ethnicity" = "input")) |> dplyr::select(-.data$ethnicity) |> dplyr::rename(ethnicity = .data$displayed) } - d_count <- d |> + d |> dplyr::count(.data$gender, .data$race, .data$ethnicity) |> dplyr::full_join(d_possible, by = c("gender", "race", "ethnicity")) |> dplyr::mutate( - gender = factor(.data$gender , levels=levels_gender ), - race = factor(.data$race , levels=levels_race ), - ethnicity = factor(.data$ethnicity, levels=levels_ethnicity ), + gender = factor(.data$gender , levels = levels_gender ), + race = factor(.data$race , levels = levels_race ), + ethnicity = factor(.data$ethnicity, levels = levels_ethnicity ), n = dplyr::coalesce(.data$n, 0L) ) |> dplyr::select(.data$gender, .data$race, .data$ethnicity, .data$n) |> @@ -199,8 +203,12 @@ table_nih_enrollment <- function( #' @export table_nih_enrollment_pretty <- function( d, - d_lu_gender=NULL, d_lu_race=NULL, d_lu_ethnicity=NULL, - variable_gender="gender", variable_race="race", variable_ethnicity="ethnicity" + d_lu_gender = NULL, + d_lu_race = NULL, + d_lu_ethnicity = NULL, + variable_gender = "gender", + variable_race = "race", + variable_ethnicity = "ethnicity" ) { column_order <- c( "race", @@ -223,11 +231,11 @@ table_nih_enrollment_pretty <- function( gender_ethnicity = paste0(.data$gender, " by ", .data$ethnicity) ) |> dplyr::select(-.data$gender, -.data$ethnicity) |> - tidyr::spread(key=.data$gender_ethnicity, value=.data$n) |> + tidyr::spread(key = .data$gender_ethnicity, value = .data$n) |> dplyr::select(!!column_order) |> knitr::kable( format = "html", - format.args = list(big.mark=","), + format.args = list(big.mark = ","), escape = FALSE, col.names = c( "Racial\nCategories", diff --git a/tests/testthat/test-table-nih-enrollment.R b/tests/testthat/test-table-nih-enrollment.R index 45d5561..601a359 100644 --- a/tests/testthat/test-table-nih-enrollment.R +++ b/tests/testthat/test-table-nih-enrollment.R @@ -72,7 +72,7 @@ test_that("ds_1b --ethnicity metadata required", { "Unknown" , "Unknown/Not Reported Ethnicity" ) - observed <- table_nih_enrollment(d_1b, d_lu_ethnicity=d_lu_ethnicity) + observed <- table_nih_enrollment(d_1b, d_lu_ethnicity = d_lu_ethnicity) expect_equal(observed, expected_1) }) @@ -112,7 +112,13 @@ test_that("ds_1c --all metadata required", { "Unknown" , "Unknown/Not Reported Ethnicity" ) - observed <- table_nih_enrollment(d_1c, d_lu_gender=d_lu_gender, d_lu_race=d_lu_race, d_lu_ethnicity=d_lu_ethnicity) + observed <- + table_nih_enrollment( + d_1c, + d_lu_gender = d_lu_gender, + d_lu_race = d_lu_race, + d_lu_ethnicity = d_lu_ethnicity + ) expect_equal(observed, expected_1) }) @@ -121,10 +127,16 @@ test_that("ds_1d --different variable names", { dplyr::rename( vg = gender, vr = race, - ve = ethnicity + ve = ethnicity, ) - observed <- table_nih_enrollment(ds_1d, variable_gender="vg", variable_race="vr", variable_ethnicity="ve") + observed <- + table_nih_enrollment( + ds_1d, + variable_gender = "vg", + variable_race = "vr", + variable_ethnicity = "ve" + ) expect_equal(observed, expected_1) }) diff --git a/vignettes/nih-enrollment-html.Rmd b/vignettes/nih-enrollment-html.Rmd index 33e773f..dda39db 100644 --- a/vignettes/nih-enrollment-html.Rmd +++ b/vignettes/nih-enrollment-html.Rmd @@ -41,7 +41,7 @@ Local Data Source ### Establish Datasets ```{r local-establish} -path <- system.file("misc/example-data-1.csv", package="codified") +path <- system.file("misc/example-data-1.csv", package = "codified") col_types <- readr::cols_only( record_id = readr::col_integer(), name_last = readr::col_character(), @@ -50,7 +50,7 @@ col_types <- readr::cols_only( race = readr::col_integer(), ethnicity = readr::col_integer() ) -ds <- readr::read_csv(path, col_types=col_types) |> +ds <- readr::read_csv(path, col_types = col_types) |> dplyr::mutate( gender = as.character(gender), race = as.character(race), From 811baf2b0adeb7c2cc6f2e345df4944074a7481d Mon Sep 17 00:00:00 2001 From: Will Beasley Date: Thu, 11 Aug 2022 23:12:20 -0500 Subject: [PATCH 13/18] lintr & other checks ref #9 --- .Rbuildignore | 1 + .lintr | 5 ++++ CRAN-RELEASE | 2 -- documentation-for-developers/refresh.R | 38 ++++++++++++++++++++++---- 4 files changed, 39 insertions(+), 7 deletions(-) create mode 100644 .lintr delete mode 100644 CRAN-RELEASE diff --git a/.Rbuildignore b/.Rbuildignore index d91dc4b..d2dd944 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -12,6 +12,7 @@ documentation-for-developers/ playgrounds/ utility/ ^\.github$ +^\.lintr$ ^\.markdownlist\.json$ ^\.travis\.yml$ ^appveyor\.yml$ diff --git a/.lintr b/.lintr new file mode 100644 index 0000000..7bd9b0e --- /dev/null +++ b/.lintr @@ -0,0 +1,5 @@ +linters: linters_with_defaults( + line_length_linter(120), + commas_linter = NULL, + commented_code_linter = NULL + ) diff --git a/CRAN-RELEASE b/CRAN-RELEASE deleted file mode 100644 index d780e1c..0000000 --- a/CRAN-RELEASE +++ /dev/null @@ -1,2 +0,0 @@ -This package was submitted to CRAN on 2018-09-12. -Once it is accepted, delete this file and tag the release (commit de657690f5). diff --git a/documentation-for-developers/refresh.R b/documentation-for-developers/refresh.R index 2956958..2be540f 100644 --- a/documentation-for-developers/refresh.R +++ b/documentation-for-developers/refresh.R @@ -1,14 +1,36 @@ -rm(list=ls(all=TRUE)) +rm(list = ls(all = TRUE)) # library(devtools) -deviceType <- ifelse(R.version$os=="linux-gnu", "X11", "windows") -options(device = deviceType) #http://support.rstudio.org/help/discussions/problems/80-error-in-function-only-one-rstudio-graphics-device-is-permitted +# deviceType <- ifelse(R.version$os=="linux-gnu", "X11", "windows") +# options(device = deviceType) #http://support.rstudio.org/help/discussions/problems/80-error-in-function-only-one-rstudio-graphics-device-is-permitted + +spelling::spell_check_package() +# spelling::update_wordlist() +lintr::lint_package() +urlchecker::url_check(); urlchecker::url_update() devtools::document() devtools::check_man() #Should return NULL devtools::build_vignettes() + +checks_to_exclude <- c( + "covr", + # "cyclocomp"#, + "lintr_line_length_linter" +) +gp <- + goodpractice::all_checks() |> + purrr::discard(~(. %in% checks_to_exclude)) |> + { + \(checks) + goodpractice::gp(checks = checks) + }() +goodpractice::results(gp) +gp + +devtools::document() pkgdown::clean_site() pkgdown::build_site() -system("R CMD Rd2pdf --no-preview --force --output=./documentation-peek.pdf ." ) +# system("R CMD Rd2pdf --no-preview --force --output=./documentation-peek.pdf ." ) devtools::run_examples(); #dev.off() #This overwrites the NAMESPACE file too # devtools::run_examples(, "table-nih-enrollment.Rd") @@ -18,7 +40,13 @@ test_results_checked <- devtools::test(filter = "table-nih-enrollment") test_results_not_checked <- testthat::test_dir("./tests/manual/") # devtools::check(force_suggests = FALSE) +devtools::check(cran=TRUE) +devtools::check( # Equivalent of R-hub + manual = TRUE, + remote = TRUE, + incoming = TRUE +) +devtools::check_rhub(email="wibeasley@hotmail.com") # devtools::check_win_devel() #CRAN submission policies encourage the development version -# devtools::check_rhub(email="wibeasley@hotmail.com") # devtools::revdep_check(pkg="codified", recursive=TRUE) # devtools::release(check=FALSE) #Careful, the last question ultimately uploads it to CRAN, where you can't delete/reverse your decision. From 2955b49afdf132092481ea6602763fe541c31b24 Mon Sep 17 00:00:00 2001 From: Will Beasley Date: Thu, 11 Aug 2022 23:39:23 -0500 Subject: [PATCH 14/18] bump version; update news & cran comments ref #9 --- DESCRIPTION | 2 +- NEWS.md | 8 +++++++- cran-comments.md | 44 +++++++++++++++++++++++++++++++++----------- 3 files changed, 41 insertions(+), 13 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index a9c8f06..7d1cd8d 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -2,7 +2,7 @@ Package: codified Title: Produce Standard/Formalized Demographics Tables Description: Augment clinical data with metadata to create output used in conventional publications and reports. -Version: 0.2.9001 +Version: 0.3.0 Authors@R: c(person("Will", "Beasley", role = c("aut", "cre"), email = "wibeasley@hotmail.com", comment = c(ORCID = "0000-0002-5613-5006")), person("Peter", "Higgins", role = "ctb")) diff --git a/NEWS.md b/NEWS.md index 986afe9..3160283 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,11 @@ +Version 0.3.0 (released 2022-08-11) +========================================================== -# codified 0.2.0 +* Vignette mimics calling REDCap. (#9) +* Small modernizations. (#9) + +Version 0.2.0 (released 2018-09-07) +========================================================== * added `table_nih_enrollment()` and `table_nih_enrollment_pretty()`. #2 * added `nih-enrollment-html` vignette. #6 diff --git a/cran-comments.md b/cran-comments.md index 14e4795..5a39867 100644 --- a/cran-comments.md +++ b/cran-comments.md @@ -1,6 +1,9 @@ Description ------------------------------------------------ -This is a new release. I've corrected the note about the license file/template (sorry, I thought that note was pointing to the new submission line.) +============================ + +This is a rerelease after it was removed a few days ago for "policy violation... On Internet access." The vignette called an external server that was being upgraded (and I was in the middle of a two-week camping trip). + +In the meantime, I've made some minor updates to code and reduced some package dependencies. Thank you for taking the time to review my submission, and please tell me if there's something else I should do for CRAN. -Will Beasley @@ -10,23 +13,42 @@ Test environments The win-builder and a local machine have used the CRAN version of dplyr. The others have used the current GitHub master version of dplyr. -* Local Ubuntu, R 3.5.1 patched +* Local Ubuntu, R 4.2.1 patched * [win-builder](https://win-builder.r-project.org/loyQ4mpg13bQ/) (version="R-devel") -* R Hub -R Release - * [Fedora](https://builder.r-hub.io/status/codified_0.2.0.tar.gz-9e323515f1c645de88948b62f47ea256) - * [Ubuntu LTS](https://builder.r-hub.io/status/codified_0.2.0.tar.gz-0b2beb0a150f4a85a20296868425bcd6) - * [Windows Server](https://builder.r-hub.io/status/codified_0.2.0.tar.gz-628ea3de132d44039f349301e03816c0) -* [Travis CI](https://travis-ci.org/OuhscBbmc/codified), Ubuntu LTS -* [AppVeyor](https://ci.appveyor.com/project/wibeasley/codified), Windows Server - +* R Hub -R Release + * [Fedora](https://builder.r-hub.io/status/codified_0.2.9001.tar.gz-04d7f8fa685f4838b58ef9d92646d6c4) + * [Ubuntu LTS](https://builder.r-hub.io/status/codified_0.2.9001.tar.gz-0b3d5e1af0d545acb1fed149064e3d98) + * [Windows Server](https://builder.r-hub.io/status/codified_0.2.9001.tar.gz-f19cf505473c4557984b8a4102f0c4a6) +* [GiHub Actions](https://github.com/OuhscBbmc/REDCapR/actions), Ubuntu 20.04 LTS R CMD check results ----------------------------------------------- * No ERRORs or WARNINGs on any builds. -* No consistent NOTEs other than 'New submission'. There are a few things popping up in some of the seven builds above, but nothing serious. For example, win-builder couldn't connect to the "https://CRAN.R-project.org/package=staplr" or the Zenodo links. +* One consistent NOTE: + > CRAN repository db overrides: + > X-CRAN-Comment: Archived on 2022-08-08 for policy violation. + > + > On Internet access. + +* There is one NOTE that is only found on R-hub Windows (Server 2022, R-devel 64-bit): + + ```txt + * checking for detritus in the temp directory ... NOTE + Found the following files/directories: + 'lastMiKTeXException' + As noted in [R-hub issue #503](https://github.com/r-hub/rhub/issues/503), this could be due to a bug/crash in MiKTeX and can likely be ignored. + ``` + +* There is one NOTE that is only found on the R-hub Fedora: + + ```txt + * checking HTML version of manual ... NOTE + Skipping checking HTML validation: no command 'tidy' found + ``` + Based on [this discussion](https://groups.google.com/g/r-sig-mac/c/7u_ivEj4zhM?pli=1), it sounds like a problem with the testing environment, and not the package code. Downstream dependencies ----------------------------------------------- From 531e4f44d0f859634b038268b4f632d42920f228 Mon Sep 17 00:00:00 2001 From: Will Beasley Date: Fri, 12 Aug 2022 07:26:19 -0500 Subject: [PATCH 15/18] update to `tidyr::pivot_wider()` --- R/table-nih-enrollment.R | 9 ++++++--- man/table_nih_enrollment.Rd | 4 ++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/R/table-nih-enrollment.R b/R/table-nih-enrollment.R index aa815bd..bf13b70 100644 --- a/R/table-nih-enrollment.R +++ b/R/table-nih-enrollment.R @@ -38,14 +38,14 @@ #' table_nih_enrollment_pretty(ds_1) #' #' table_nih_enrollment(ds_1) |> -#' tidyr::spread(key=gender, value=n) +#' tidyr::pivot_wider(names_from = gender, values_from = n) #' #' table_nih_enrollment(ds_1) |> #' dplyr::mutate( #' gender_ethnicity = paste0(gender, " by ", ethnicity) #' ) |> #' dplyr::select(-gender, -ethnicity) |> -#' tidyr::spread(key=gender_ethnicity, value=n) +#' tidyr::pivot_wider(names_from = gender_ethnicity, values_from = n) #' #' ds_2 <- tibble::tribble( #' ~subject_id, ~gender , ~race , ~ethnicity , @@ -231,7 +231,10 @@ table_nih_enrollment_pretty <- function( gender_ethnicity = paste0(.data$gender, " by ", .data$ethnicity) ) |> dplyr::select(-.data$gender, -.data$ethnicity) |> - tidyr::spread(key = .data$gender_ethnicity, value = .data$n) |> + tidyr::pivot_wider( + names_from = .data$gender_ethnicity, + values_from = .data$n + ) |> dplyr::select(!!column_order) |> knitr::kable( format = "html", diff --git a/man/table_nih_enrollment.Rd b/man/table_nih_enrollment.Rd index 8cb9ccc..785b5aa 100644 --- a/man/table_nih_enrollment.Rd +++ b/man/table_nih_enrollment.Rd @@ -56,14 +56,14 @@ table_nih_enrollment(ds_1) table_nih_enrollment_pretty(ds_1) table_nih_enrollment(ds_1) |> - tidyr::spread(key=gender, value=n) + tidyr::pivot_wider(names_from = gender, values_from = n) table_nih_enrollment(ds_1) |> dplyr::mutate( gender_ethnicity = paste0(gender, " by ", ethnicity) ) |> dplyr::select(-gender, -ethnicity) |> - tidyr::spread(key=gender_ethnicity, value=n) + tidyr::pivot_wider(names_from = gender_ethnicity, values_from = n) ds_2 <- tibble::tribble( ~subject_id, ~gender , ~race , ~ethnicity , From a213ce9ef0381aaa10c18d1b3ebd8a90c1a30960 Mon Sep 17 00:00:00 2001 From: Will Beasley Date: Fri, 12 Aug 2022 07:31:50 -0500 Subject: [PATCH 16/18] urls & spelling --- README.md | 6 +++--- inst/WORDLIST | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f2e6b89..d552b20 100644 --- a/README.md +++ b/README.md @@ -3,9 +3,9 @@ codified Produce standard/formalized demographics tables -Clinical researchers often need to document and report the demographics of all consented subjects. A common use case is for reporting to funding agencies, including the National Institutes of Health (NIH). The NIH requires a particular format for the [PHS Inclusion Enrollment Report](https://www.era.nih.gov/erahelp/assist/Content/ASSIST_Help_Topics/3_Form_Screens/PHS_HS_CT/Incl_Enroll_Rprt.htm) in each annual Research Performance Progress Report ([RPPR](https://grants.nih.gov/grants/rppr/index.htm)). +Clinical researchers often need to document and report the demographics of all consented subjects. A common use case is for reporting to funding agencies, including the National Institutes of Health (NIH). The NIH requires a particular format for the [PHS Inclusion Enrollment Report](https://www.era.nih.gov/erahelp/assist/Content/ASSIST_Help_Topics/3_Form_Screens/PHS_HS_CT/PHS_Summary.htm) in each annual Research Performance Progress Report ([RPPR](https://grants.nih.gov/grants/rppr/index.htm)). -The **codified** package, in combination with the **REDCapR** package, provides a pipeline to directly extract the demographics of consented subjects from a REDCap database, and to rapidly and reproducibly produce standard demographics tables. This pipeline is demonstrated in the vignette, *[NIH Enrollment Tables in HTML](https://ouhscbbmc.github.io/codified/articles/nih-enrollment-html.html)*. +The [codified](https://ouhscbbmc.github.io/codified/) package, in combination with the [REDCapR](https://ouhscbbmc.github.io/REDCapR/) package, provides a pipeline to directly extract the demographics of consented subjects from a REDCap database, and to rapidly and reproducibly produce standard demographics tables. This pipeline is demonstrated in the vignette, *[NIH Enrollment Tables in HTML](https://ouhscbbmc.github.io/codified/articles/nih-enrollment-html.html)*. Installation and Documentation ----------------------- @@ -14,7 +14,7 @@ The *development* version can be installed from [GitHub](https://github.com/Ouhs ```r install.packages("remotes") # Run this line if the 'remotes' package isn't installed already. -remotes::install_github(repo="OuhscBbmc/codified") +remotes::install_github(repo = "OuhscBbmc/codified") ``` The *release* version can be installed from [CRAN](https://cran.r-project.org/package=codified). diff --git a/inst/WORDLIST b/inst/WORDLIST index af3015e..ada78be 100644 --- a/inst/WORDLIST +++ b/inst/WORDLIST @@ -17,6 +17,7 @@ docx flextable htm https +modernizations nih phs pkgdown From c159f71784752eea5799dd869fa5d3191ce85647 Mon Sep 17 00:00:00 2001 From: Will Beasley Date: Fri, 12 Aug 2022 07:34:37 -0500 Subject: [PATCH 17/18] whitespace --- R/table-nih-enrollment.R | 6 +++--- man/table_nih_enrollment.Rd | 6 +++--- vignettes/nih-enrollment-html.Rmd | 10 +++++----- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/R/table-nih-enrollment.R b/R/table-nih-enrollment.R index bf13b70..e440c3a 100644 --- a/R/table-nih-enrollment.R +++ b/R/table-nih-enrollment.R @@ -65,11 +65,11 @@ #' "Latino" , "Hispanic or Latino" , #' "Unknown" , "Unknown/Not Reported Ethnicity" #' ) -#' table_nih_enrollment(ds_2, d_lu_ethnicity=ds_lu_ethnicity) -#' table_nih_enrollment_pretty(ds_2, d_lu_ethnicity=ds_lu_ethnicity) +#' table_nih_enrollment(ds_2, d_lu_ethnicity = ds_lu_ethnicity) +#' table_nih_enrollment_pretty(ds_2, d_lu_ethnicity = ds_lu_ethnicity) #' #' ## Read a 500-patient fake dataset -#' path <- system.file("misc/example-data-1.csv", package="codified") +#' path <- system.file("misc/example-data-1.csv", package = "codified") #' ds_3 <- readr::read_csv(path) |> #' dplyr::mutate( #' gender = as.character(gender), diff --git a/man/table_nih_enrollment.Rd b/man/table_nih_enrollment.Rd index 785b5aa..0dfe798 100644 --- a/man/table_nih_enrollment.Rd +++ b/man/table_nih_enrollment.Rd @@ -83,11 +83,11 @@ ds_lu_ethnicity <- tibble::tribble( "Latino" , "Hispanic or Latino" , "Unknown" , "Unknown/Not Reported Ethnicity" ) -table_nih_enrollment(ds_2, d_lu_ethnicity=ds_lu_ethnicity) -table_nih_enrollment_pretty(ds_2, d_lu_ethnicity=ds_lu_ethnicity) +table_nih_enrollment(ds_2, d_lu_ethnicity = ds_lu_ethnicity) +table_nih_enrollment_pretty(ds_2, d_lu_ethnicity = ds_lu_ethnicity) ## Read a 500-patient fake dataset -path <- system.file("misc/example-data-1.csv", package="codified") +path <- system.file("misc/example-data-1.csv", package = "codified") ds_3 <- readr::read_csv(path) |> dplyr::mutate( gender = as.character(gender), diff --git a/vignettes/nih-enrollment-html.Rmd b/vignettes/nih-enrollment-html.Rmd index dda39db..eaaec02 100644 --- a/vignettes/nih-enrollment-html.Rmd +++ b/vignettes/nih-enrollment-html.Rmd @@ -16,11 +16,11 @@ vignette: > --- -```{r setup, include=FALSE} +```{r setup, include = FALSE} knitr::opts_chunk$set(echo = TRUE) ``` -```{r declare, echo=F} +```{r declare, echo = F} ``` Install `codified` Package @@ -29,8 +29,8 @@ Install `codified` Package First, install the `codified` package if necessary, and then [load it into memory](http://r-pkgs.had.co.nz/package.html#package). ```{r install-codified} -# if( !requireNamespace("codified", quietly=T) ) -# remotes::install_github(repo= "OuhscBbmc/codified") +# if( !requireNamespace("codified", quietly = TRUE) ) +# remotes::install_github(repo = "OuhscBbmc/codified") library(codified) ``` @@ -123,7 +123,7 @@ A hosted (fake) clinical trial dataset demonstrates how to extract demographic d First, install the `REDCapR` package if necessary, and then [load it into memory](http://r-pkgs.had.co.nz/package.html#package). ```{r install-redcapr} -# if( !requireNamespace("REDCapR", quietly=T) ) +# if( !requireNamespace("REDCapR", quietly = TRUE) ) # remotes::install_github("OuhscBbmc/REDCapR") library(REDCapR) From c4be725aae219265e543d80cc4faf2aea5079e27 Mon Sep 17 00:00:00 2001 From: Will Beasley Date: Fri, 12 Aug 2022 08:11:49 -0500 Subject: [PATCH 18/18] Update cran-comments.md --- cran-comments.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/cran-comments.md b/cran-comments.md index 5a39867..cc66ef7 100644 --- a/cran-comments.md +++ b/cran-comments.md @@ -1,7 +1,7 @@ Description ============================ -This is a rerelease after it was removed a few days ago for "policy violation... On Internet access." The vignette called an external server that was being upgraded (and I was in the middle of a two-week camping trip). +This is a resubmission after the package was removed a few days ago for "policy violation... On Internet access." The vignette called an external server that was being upgraded (and I was in the middle of a two-week camping trip). In the meantime, I've made some minor updates to code and reduced some package dependencies. @@ -11,14 +11,13 @@ Thank you for taking the time to review my submission, and please tell me if the Test environments ----------------------------------------------- -The win-builder and a local machine have used the CRAN version of dplyr. The others have used the current GitHub master version of dplyr. - * Local Ubuntu, R 4.2.1 patched -* [win-builder](https://win-builder.r-project.org/loyQ4mpg13bQ/) (version="R-devel") +* Local Windows, R 4.2.1 patched +* [win-builder](https://win-builder.r-project.org/07J2m64qPN89/) (version="R-devel") * R Hub -R Release - * [Fedora](https://builder.r-hub.io/status/codified_0.2.9001.tar.gz-04d7f8fa685f4838b58ef9d92646d6c4) - * [Ubuntu LTS](https://builder.r-hub.io/status/codified_0.2.9001.tar.gz-0b3d5e1af0d545acb1fed149064e3d98) - * [Windows Server](https://builder.r-hub.io/status/codified_0.2.9001.tar.gz-f19cf505473c4557984b8a4102f0c4a6) + * [Fedora](https://builder.r-hub.io/status/codified_0.3.0.tar.gz-92b1a5157605462c91aa670d0db084d8) + * [Ubuntu LTS](https://builder.r-hub.io/status/codified_0.3.0.tar.gz-e5752ab379f44b1698e25a7f71050589) + * [Windows Server](https://builder.r-hub.io/status/codified_0.3.0.tar.gz-350981c472ec43b79b7f87689a006938) * [GiHub Actions](https://github.com/OuhscBbmc/REDCapR/actions), Ubuntu 20.04 LTS R CMD check results